diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-05-08 19:54:50 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-05-08 19:54:50 +0000 |
commit | b437294d389fcde182fb4e11a6782e228271606b (patch) | |
tree | 64e981014048250748948a070fb865f589c03088 /src/transport/gnunet-helper-transport-wlan-dummy.c | |
parent | 815115e815d829c0bfc5dccf45f12e223ea0865e (diff) | |
download | gnunet-b437294d389fcde182fb4e11a6782e228271606b.tar.gz gnunet-b437294d389fcde182fb4e11a6782e228271606b.zip |
-make helper start more robust
Diffstat (limited to 'src/transport/gnunet-helper-transport-wlan-dummy.c')
-rw-r--r-- | src/transport/gnunet-helper-transport-wlan-dummy.c | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/src/transport/gnunet-helper-transport-wlan-dummy.c b/src/transport/gnunet-helper-transport-wlan-dummy.c index 846869e59..9d82fccf3 100644 --- a/src/transport/gnunet-helper-transport-wlan-dummy.c +++ b/src/transport/gnunet-helper-transport-wlan-dummy.c | |||
@@ -222,37 +222,35 @@ main (int argc, char *argv[]) | |||
222 | } | 222 | } |
223 | 223 | ||
224 | /* make the fifos if needed */ | 224 | /* make the fifos if needed */ |
225 | if (0 != stat (FIFO_FILE1, &st)) | 225 | umask (0); |
226 | if ( (GNUNET_OK != GNUNET_DISK_directory_create_for_file (FIFO_FILE1)) || | ||
227 | (GNUNET_OK != GNUNET_DISK_directory_create_for_file (FIFO_FILE2)) ) | ||
226 | { | 228 | { |
227 | if (0 == stat (FIFO_FILE2, &st)) | 229 | FPRINTF (stderr, "Failed to create directory for file `%s'\n", FIFO_FILE1); |
228 | { | 230 | return 1; |
229 | FPRINTF (stderr, "%s", "FIFO_FILE2 exists, but FIFO_FILE1 not\n"); | 231 | } |
230 | exit (1); | 232 | if (0 == strcmp (argv[1], "1") ) |
231 | } | 233 | { |
232 | umask (0); | 234 | if (0 != stat (FIFO_FILE1, &st)) |
233 | erg = mkfifo (FIFO_FILE1, 0666); | ||
234 | if (0 != erg) | ||
235 | { | ||
236 | FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE1, | ||
237 | strerror (errno)); | ||
238 | } | ||
239 | erg = mkfifo (FIFO_FILE2, 0666); | ||
240 | if (0 != erg) | ||
241 | { | 235 | { |
242 | FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE2, | 236 | erg = mkfifo (FIFO_FILE1, 0666); |
243 | strerror (errno)); | 237 | if ( (0 != erg) && (EEXIST != errno) ) |
238 | FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE1, | ||
239 | strerror (errno)); | ||
244 | } | 240 | } |
245 | } | 241 | } |
246 | else | 242 | else |
247 | { | 243 | { |
248 | if (0 != stat (FIFO_FILE2, &st)) | 244 | if (0 != stat (FIFO_FILE2, &st)) |
249 | { | 245 | { |
250 | FPRINTF (stderr, "%s", "FIFO_FILE1 exists, but FIFO_FILE2 not\n"); | 246 | erg = mkfifo (FIFO_FILE2, 0666); |
251 | exit (1); | 247 | if ( (0 != erg) && (EEXIST != errno) ) |
248 | FPRINTF (stderr, "Error in mkfifo(%s): %s\n", FIFO_FILE2, | ||
249 | strerror (errno)); | ||
252 | } | 250 | } |
253 | } | 251 | } |
254 | 252 | ||
255 | if (0 != strcmp (argv[1], "1")) | 253 | if (0 == strcmp (argv[1], "1")) |
256 | { | 254 | { |
257 | first = 1; | 255 | first = 1; |
258 | fpin = fopen (FIFO_FILE1, "r"); | 256 | fpin = fopen (FIFO_FILE1, "r"); |
@@ -261,7 +259,11 @@ main (int argc, char *argv[]) | |||
261 | FPRINTF (stderr, "fopen of read FIFO_FILE1 failed: %s\n", STRERROR (errno)); | 259 | FPRINTF (stderr, "fopen of read FIFO_FILE1 failed: %s\n", STRERROR (errno)); |
262 | goto end; | 260 | goto end; |
263 | } | 261 | } |
264 | fpout = fopen (FIFO_FILE2, "w"); | 262 | if (NULL == (fpout = fopen (FIFO_FILE2, "w"))) |
263 | { | ||
264 | erg = mkfifo (FIFO_FILE2, 0666); | ||
265 | fpout = fopen (FIFO_FILE2, "w"); | ||
266 | } | ||
265 | if (NULL == fpout) | 267 | if (NULL == fpout) |
266 | { | 268 | { |
267 | FPRINTF (stderr, "fopen of write FIFO_FILE2 failed: %s\n", STRERROR (errno)); | 269 | FPRINTF (stderr, "fopen of write FIFO_FILE2 failed: %s\n", STRERROR (errno)); |
@@ -271,7 +273,11 @@ main (int argc, char *argv[]) | |||
271 | else | 273 | else |
272 | { | 274 | { |
273 | first = 0; | 275 | first = 0; |
274 | fpout = fopen (FIFO_FILE1, "w"); | 276 | if (NULL == (fpout = fopen (FIFO_FILE1, "w"))) |
277 | { | ||
278 | erg = mkfifo (FIFO_FILE1, 0666); | ||
279 | fpout = fopen (FIFO_FILE1, "w"); | ||
280 | } | ||
275 | if (NULL == fpout) | 281 | if (NULL == fpout) |
276 | { | 282 | { |
277 | FPRINTF (stderr, "fopen of write FIFO_FILE1 failed: %s\n", STRERROR (errno)); | 283 | FPRINTF (stderr, "fopen of write FIFO_FILE1 failed: %s\n", STRERROR (errno)); |