From 34acd854c802885a748a129ec6a828982ddace71 Mon Sep 17 00:00:00 2001 From: Mark Grondona <mgrondona@llnl.gov> Date: Fri, 28 Mar 2003 21:56:43 +0000 Subject: [PATCH] o reopen logfile on _log_init() o reinitialize buffers on _log_init() --- src/common/log.c | 20 ++++++++++++-------- src/common/safeopen.h | 2 ++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/common/log.c b/src/common/log.c index 3ab0ecdf02f..dd73c440455 100644 --- a/src/common/log.c +++ b/src/common/log.c @@ -167,14 +167,14 @@ _log_init(char *prog, log_options_t opt, log_facility_t fac, char *logfile ) log->opt = opt; + if (log->buf) + cbuf_destroy(log->buf); + if (log->fbuf) + cbuf_destroy(log->fbuf); + if (log->opt.buffered) { log->buf = cbuf_create(128, 8192); log->fbuf = cbuf_create(128, 8192); - } else { - if (log->buf) - cbuf_destroy(log->buf); - if (log->fbuf) - cbuf_destroy(log->fbuf); } if (log->opt.syslog_level > LOG_LEVEL_QUIET) @@ -195,8 +195,12 @@ _log_init(char *prog, log_options_t opt, log_facility_t fac, char *logfile ) xfree(errmsg); rc = errno; goto out; - } else - log->logfp = fp; + } + + if (log->logfp) + fclose(log->logfp); /* Ignore errors */ + + log->logfp = fp; } log->initialized = 1; @@ -569,7 +573,7 @@ log_flush() if (log->opt.stderr_level) cbuf_read_to_fd(log->buf, fileno(stderr), -1); else if (log->logfp) - cbuf_read_to_fd(log->buf, fileno(log->logfp), -1); + cbuf_read_to_fd(log->fbuf, fileno(log->logfp), -1); done: slurm_mutex_unlock(&log_lock); diff --git a/src/common/safeopen.h b/src/common/safeopen.h index cb2948036ca..ecc428ea89d 100644 --- a/src/common/safeopen.h +++ b/src/common/safeopen.h @@ -7,6 +7,8 @@ #ifndef _SAFEOPEN_H #define _SAFEOPEN_H +#include <unistd.h> + /* safeopen flags: * * default is to create if needed, and fail if path is a soft link -- GitLab