diff options
Diffstat (limited to 'ulogd/extensions/ulogd_LOGEMU.c')
-rw-r--r-- | ulogd/extensions/ulogd_LOGEMU.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ulogd/extensions/ulogd_LOGEMU.c b/ulogd/extensions/ulogd_LOGEMU.c index 4b654c7..5473668 100644 --- a/ulogd/extensions/ulogd_LOGEMU.c +++ b/ulogd/extensions/ulogd_LOGEMU.c @@ -79,15 +79,18 @@ static int _output_logemu(ulog_iret_t *res) static void signal_handler_logemu(int signal) { + FILE *old=of; + switch (signal) { case SIGHUP: ulogd_log(ULOGD_NOTICE, "syslogemu: reopening logfile\n"); - fclose(of); of = fopen(syslogf_ce.u.string, "a"); if (!of) { ulogd_log(ULOGD_FATAL, "can't open syslogemu: %s\n", strerror(errno)); - exit(2); + of=old; + } else { + fclose(old); } break; default: |