summaryrefslogtreecommitdiffstats
path: root/ulogd/extensions/ulogd_LOGEMU.c
diff options
context:
space:
mode:
Diffstat (limited to 'ulogd/extensions/ulogd_LOGEMU.c')
-rw-r--r--ulogd/extensions/ulogd_LOGEMU.c7
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: