From a6f25fc635dce0b67422b271e09467e9ea854489 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 26 Mar 2010 11:17:37 +0100 Subject: s3-smbd: Don't close stdout if we want to log to stdout. --- lib/util/become_daemon.c | 10 ++++++---- lib/util/util.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/util/become_daemon.c b/lib/util/become_daemon.c index 3d06a4363d..2af16316b5 100644 --- a/lib/util/become_daemon.c +++ b/lib/util/become_daemon.c @@ -66,7 +66,7 @@ _PUBLIC_ void close_low_fds(bool stderr_too) Become a daemon, discarding the controlling terminal. ****************************************************************************/ -_PUBLIC_ void become_daemon(bool do_fork, bool no_process_group) +_PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout) { if (do_fork) { if (sys_fork()) { @@ -87,7 +87,9 @@ _PUBLIC_ void become_daemon(bool do_fork, bool no_process_group) } #endif /* HAVE_SETSID */ - /* Close fd's 0,1,2. Needed if started by rsh */ - close_low_fds(false); /* Don't close stderr, let the debug system - attach it to the logfile */ + if (!log_stdout) { + /* Close fd's 0,1,2. Needed if started by rsh */ + close_low_fds(false); /* Don't close stderr, let the debug system + attach it to the logfile */ + } } diff --git a/lib/util/util.h b/lib/util/util.h index b89a7d6050..8383344cd5 100644 --- a/lib/util/util.h +++ b/lib/util/util.h @@ -827,7 +827,7 @@ _PUBLIC_ void close_low_fds(bool stderr_too); /** Become a daemon, discarding the controlling terminal. **/ -_PUBLIC_ void become_daemon(bool do_fork, bool no_process_group); +_PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout); /** * Load a ini-style file. -- cgit