diff options
author | Martin Mares <mj@ucw.cz> | 2000-06-09 07:32:57 +0000 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2000-06-09 07:32:57 +0000 |
commit | 5ddf4a58f9c4173acefa1df92ccd3da90230a863 (patch) | |
tree | 43cb4a1b565c3d5edc9727f0e49bf5a24541fa5b /sysdep/unix/log.c | |
parent | 0b3bf4b1d898b4e438fe4959a63fc16211baff12 (diff) |
During initialization, log to both syslog and stderr. When a configuration
file has been read and it doesn't specify any logging, log to syslog only
(if syslog is not available, then stderr).
Diffstat (limited to 'sysdep/unix/log.c')
-rw-r--r-- | sysdep/unix/log.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdep/unix/log.c b/sysdep/unix/log.c index b13c9415..cc15ff3e 100644 --- a/sysdep/unix/log.c +++ b/sysdep/unix/log.c @@ -184,7 +184,7 @@ debug(char *msg, ...) } void -log_init(int debug) +log_init(int debug, int init) { static struct log_config lc_stderr = { mask: ~0, terminal_flag: 1 }; @@ -197,6 +197,8 @@ log_init(int debug) static struct log_config lc_syslog = { mask: ~0 }; openlog("bird", LOG_CONS | LOG_NDELAY, LOG_DAEMON); add_tail(current_log_list, &lc_syslog.n); + if (!init) + return; } #endif @@ -208,7 +210,7 @@ void log_switch(list *l) { if (EMPTY_LIST(*l)) - current_log_list = &init_log_list; + log_init(0, 0); else current_log_list = l; } |