]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: Directly call close_low_fd() in become_daemon()
authorVolker Lendecke <vl@samba.org>
Fri, 23 Apr 2021 14:35:02 +0000 (16:35 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Tue, 27 Apr 2021 13:24:35 +0000 (13:24 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
lib/util/become_daemon.c

index 800a57437cc31980ea784d66326898c180f308b0..f89ca7f27cf9278c37032ef65cb78860a84d61ab 100644 (file)
@@ -115,7 +115,18 @@ void become_daemon(bool do_fork, bool no_session, bool log_stdout)
        /* stdin must be open if we do not fork, for monitoring for
         * close.  stdout must be open if we are logging there, and we
         * never close stderr (but debug might dup it onto a log file) */
-       close_low_fds(do_fork, !log_stdout, false);
+       if (do_fork) {
+               int ret = close_low_fd(0);
+               if (ret != 0) {
+                       exit_daemon("close_low_fd(0) failed: %s\n", errno);
+               }
+       }
+       if (!log_stdout) {
+               int ret = close_low_fd(1);
+               if (ret != 0) {
+                       exit_daemon("close_low_fd(1) failed: %s\n", errno);
+               }
+       }
 }
 
 void exit_daemon(const char *msg, int error)