daemon: On fork, open stdin/stdout/stderr on /dev/null.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 23 Feb 2012 17:06:32 +0000 (17:06 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 23 Feb 2012 17:06:51 +0000 (17:06 +0000)
daemon/whenjobsd.ml

index 164a7e2..1efde6c 100644 (file)
@@ -104,10 +104,13 @@ Options:
     (* chdir / so we don't prevent filesystems from being unmounted. *)
     chdir "/";
 
-    (* Close file descriptors. *)
+    (* Close file descriptors, replace with /dev/null. *)
     close stdin;
     close stdout;
     close stderr;
+    ignore (openfile "/dev/null" [O_RDONLY] 0);
+    ignore (openfile "/dev/null" [O_WRONLY] 0);
+    ignore (openfile "/dev/null" [O_WRONLY] 0);
 
     (* Create a new session. *)
     ignore (setsid ());