]> git.ozlabs.org Git - ccan/blobdiff - ccan/daemonize/test/run.c
daemonize: set stderr to /dev/null.
[ccan] / ccan / daemonize / test / run.c
index c86f214bcae6e3fcfb2901e436971471e21e2479..9bb966da240b722e33dd29f9ea4cfc399f159b5d 100644 (file)
@@ -43,8 +43,12 @@ int main(int argc, char *argv[])
                        = read(STDIN_FILENO, buffer, 1) == -1 ? errno : 0;
                daemonized.write_to_stdout
                        = write(STDOUT_FILENO, buffer, 1) == -1 ? errno : 0;
-               daemonized.write_to_stderr
-                       = write(STDERR_FILENO, buffer, 1) == -1 ? errno : 0;
+               if (write(STDERR_FILENO, buffer, 1) != 1) {
+                       daemonized.write_to_stderr = errno;
+                       if (daemonized.write_to_stderr == 0)
+                               daemonized.write_to_stderr = -1;
+               } else
+                       daemonized.write_to_stderr = 0;
 
                /* Make sure parent exits. */
                while (getppid() == pid)
@@ -64,7 +68,7 @@ int main(int argc, char *argv[])
        ok1(daemonized.in_root_dir);
        ok1(daemonized.read_from_stdin == EBADF);
        ok1(daemonized.write_to_stdout == EBADF);
-       ok1(daemonized.write_to_stderr == EBADF);
+       ok1(daemonized.write_to_stderr == 0);
 
        return exit_status();
 }