error checking
authorChristian Grothoff <christian@grothoff.org>
Fri, 11 Jun 2010 21:29:31 +0000 (21:29 +0000)
committerChristian Grothoff <christian@grothoff.org>
Fri, 11 Jun 2010 21:29:31 +0000 (21:29 +0000)
src/util/os_priority.c

index 77b2627035f06426cb559842445084865d2fe52b..7e6750e8be02cdba0292070da62aee4809afed1a 100644 (file)
@@ -233,19 +233,20 @@ GNUNET_OS_start_process (struct GNUNET_DISK_PipeHandle *pipe_stdin,
 
   if (pipe_stdout != NULL)
     {
-      dup2(fd_stdout_write, 1);
-      close (fd_stdout_write);
-      close (fd_stdout_read);
+      GNUNET_break (0 == close (fd_stdout_read));
+      if (-1 == dup2(fd_stdout_write, 1))
+       GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "dup2");  
+      GNUNET_break (0 == close (fd_stdout_write));
     }
 
   if (pipe_stdin != NULL)
     {
 
-      dup2(fd_stdin_read, 0);
-      close (fd_stdin_read);
-      close (fd_stdin_write);
+      GNUNET_break (0 == close (fd_stdin_write));
+      if (-1 == dup2(fd_stdin_read, 0))
+       GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "dup2");  
+      GNUNET_break (0 == close (fd_stdin_read));
     }
-
   execvp (filename, argv);
   GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "execvp", filename);
   _exit (1);