summaryrefslogtreecommitdiffstats
path: root/src/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/log.c')
-rw-r--r--src/log.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/log.c b/src/log.c
index 0796ba9..6deccfa 100644
--- a/src/log.c
+++ b/src/log.c
@@ -57,6 +57,8 @@ int init_log(void)
CONFIG(stats).syslog_facility != -1)
openlog(PACKAGE, LOG_PID, CONFIG(syslog_facility));
+ STATE(log_init) = 1;
+
return 0;
}
@@ -101,7 +103,7 @@ void dlog(int priority, const char *format, ...)
FILE *console_out;
va_list args;
- if (CONFIG(running_mode) != DAEMON) {
+ if (CONFIG(running_mode) != DAEMON || STATE(log_init) == 0) {
switch (priority) {
case LOG_INFO:
case LOG_NOTICE:
@@ -118,6 +120,9 @@ void dlog(int priority, const char *format, ...)
va_end(args);
}
+ if (STATE(log_init) == 0)
+ return;
+
if (fd) {
va_start(args, format);
logline_put(fd, priority, format, &args);
@@ -211,6 +216,8 @@ void dlog_exp(FILE *fd, struct nf_expect *exp, unsigned int type)
void close_log(void)
{
+ STATE(log_init) = 0;
+
if (STATE(log) != NULL)
fclose(STATE(log));