diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-07-18 17:07:25 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-07-20 09:17:09 +1000 |
commit | 485898458a1f786febd400be30bb3917fe5f71eb (patch) | |
tree | 9ec865e0baddf3e65960e329a812f35bd3a093b1 /lib | |
parent | 3c9d01e3e58e2217915317406541ac8c6f6dcf92 (diff) | |
download | samba-485898458a1f786febd400be30bb3917fe5f71eb.tar.gz samba-485898458a1f786febd400be30bb3917fe5f71eb.tar.bz2 samba-485898458a1f786febd400be30bb3917fe5f71eb.zip |
debug: log early messages to stdout, and keep it open
The --log-stdout option was compromised by the log file descriptors being
closed once the file process forked.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/util/debug.c | 6 | ||||
-rw-r--r-- | lib/util/debug.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/util/debug.c b/lib/util/debug.c index c1b33de6d1..cc57ba8419 100644 --- a/lib/util/debug.c +++ b/lib/util/debug.c @@ -514,6 +514,11 @@ bool debug_get_output_is_stderr(void) return (state.logtype == DEBUG_DEFAULT_STDERR) || (state.logtype == DEBUG_STDERR); } +bool debug_get_output_is_stdout(void) +{ + return (state.logtype == DEBUG_DEFAULT_STDOUT) || (state.logtype == DEBUG_STDOUT); +} + /************************************************************************** reopen the log files note that we now do this unconditionally @@ -542,6 +547,7 @@ bool reopen_logs_internal(void) switch (state.logtype) { case DEBUG_STDOUT: + case DEBUG_DEFAULT_STDOUT: debug_close_fd(state.fd); state.fd = 1; return true; diff --git a/lib/util/debug.h b/lib/util/debug.h index 2708b19fd1..c61a2c55be 100644 --- a/lib/util/debug.h +++ b/lib/util/debug.h @@ -229,6 +229,7 @@ void dbgflush( void ); bool dbghdrclass(int level, int cls, const char *location, const char *func); bool dbghdr(int level, const char *location, const char *func); bool debug_get_output_is_stderr(void); +bool debug_get_output_is_stdout(void); void debug_schedule_reopen_logs(void); char *debug_list_class_names_and_levels(void); |