From: Ralph Boehme Date: Wed, 12 Dec 2018 21:46:49 +0000 (+0100) Subject: debug: enable per debug-class logfiles X-Git-Tag: tdb-1.3.17~201 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=08d37b4a44bc7daed3c1c5774a3d7e796de582ef;p=thirdparty%2Fsamba.git debug: enable per debug-class logfiles This finally enables per debug-class logfiles by hooking into reopen_logs_internal() calls to reopen_one_log() per configured debug-class. Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison --- diff --git a/lib/util/debug.c b/lib/util/debug.c index 278562596fa..30e5a28a233 100644 --- a/lib/util/debug.c +++ b/lib/util/debug.c @@ -1078,6 +1078,12 @@ static bool reopen_one_log(int *fd, const char *logfile) int old_fd = *fd; int new_fd; + if (logfile == NULL) { + debug_close_fd(old_fd); + *fd = -1; + return true; + } + new_fd = open(logfile, O_WRONLY|O_APPEND|O_CREAT, 0644); if (new_fd == -1) { log_overflow = true; @@ -1143,8 +1149,13 @@ bool reopen_logs_internal(void) state.reopening_logs = true; - ok = reopen_one_log(&dbgc_config[DBGC_ALL].fd, - dbgc_config[DBGC_ALL].logfile); + for (i = DBGC_ALL; i < debug_num_classes; i++) { + ok = reopen_one_log(&dbgc_config[i].fd, + dbgc_config[i].logfile); + if (!ok) { + break; + } + } /* Fix from klausr@ITAP.Physik.Uni-Stuttgart.De * to fix problem where smbd's that generate less