gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r21362 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r21362 - gnunet/src/transport
Date: Tue, 8 May 2012 21:54:50 +0200

Author: grothoff
Date: 2012-05-08 21:54:50 +0200 (Tue, 08 May 2012)
New Revision: 21362

Modified:
   gnunet/src/transport/gnunet-helper-transport-wlan-dummy.c
Log:
-make helper start more robust

Modified: gnunet/src/transport/gnunet-helper-transport-wlan-dummy.c
===================================================================
--- gnunet/src/transport/gnunet-helper-transport-wlan-dummy.c   2012-05-08 
19:54:24 UTC (rev 21361)
+++ gnunet/src/transport/gnunet-helper-transport-wlan-dummy.c   2012-05-08 
19:54:50 UTC (rev 21362)
@@ -222,37 +222,35 @@
   }
 
   /* make the fifos if needed */
-  if (0 != stat (FIFO_FILE1, &st))
+  umask (0);
+  if ( (GNUNET_OK != GNUNET_DISK_directory_create_for_file (FIFO_FILE1)) ||
+       (GNUNET_OK != GNUNET_DISK_directory_create_for_file (FIFO_FILE2)) )
   {
-    if (0 == stat (FIFO_FILE2, &st))
+    FPRINTF (stderr, "Failed to create directory for file `%s'\n", FIFO_FILE1);
+    return 1;
+  }
+  if (0 == strcmp (argv[1], "1") )
+  {
+    if (0 != stat (FIFO_FILE1, &st))
     {
-      FPRINTF (stderr, "%s", "FIFO_FILE2 exists, but FIFO_FILE1 not\n");
-      exit (1);
+      erg = mkfifo (FIFO_FILE1, 0666);
+      if ( (0 != erg) && (EEXIST != errno) )
+       FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE1,
+                strerror (errno));    
     }
-    umask (0);
-    erg = mkfifo (FIFO_FILE1, 0666);
-    if (0 != erg)
-    {
-      FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE1,
-               strerror (errno));
-    }
-    erg = mkfifo (FIFO_FILE2, 0666);
-    if (0 != erg)
-    {
-      FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE2,
-               strerror (errno));
-    }
   }
   else
   {
     if (0 != stat (FIFO_FILE2, &st))
     {
-      FPRINTF (stderr, "%s", "FIFO_FILE1 exists, but FIFO_FILE2 not\n");
-      exit (1);
+      erg = mkfifo (FIFO_FILE2, 0666);
+      if ( (0 != erg) && (EEXIST != errno) )
+       FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE2,
+                strerror (errno));
     }
   }
 
-  if (0 != strcmp (argv[1], "1"))
+  if (0 == strcmp (argv[1], "1"))
   {
     first = 1;
     fpin = fopen (FIFO_FILE1, "r");
@@ -261,7 +259,11 @@
       FPRINTF (stderr, "fopen of read FIFO_FILE1 failed: %s\n", STRERROR 
(errno));
       goto end;
     }
-    fpout = fopen (FIFO_FILE2, "w");
+    if (NULL == (fpout = fopen (FIFO_FILE2, "w")))
+    {
+      erg = mkfifo (FIFO_FILE2, 0666);
+      fpout = fopen (FIFO_FILE2, "w");
+    }
     if (NULL == fpout)
     {
       FPRINTF (stderr, "fopen of write FIFO_FILE2 failed: %s\n", STRERROR 
(errno));
@@ -271,7 +273,11 @@
   else
   {
     first = 0;
-    fpout = fopen (FIFO_FILE1, "w");
+    if (NULL == (fpout = fopen (FIFO_FILE1, "w")))
+    {
+      erg = mkfifo (FIFO_FILE1, 0666);
+      fpout = fopen (FIFO_FILE1, "w");
+    }
     if (NULL == fpout)
     {
       FPRINTF (stderr, "fopen of write FIFO_FILE1 failed: %s\n", STRERROR 
(errno));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]