From efea0aa10d862a1a0e36043cfd6f712b8cd326aa Mon Sep 17 00:00:00 2001 From: laforge Date: Thu, 14 Jun 2001 19:25:25 +0000 Subject: Support for logfile cycling (SIGHUP handler) --- extensions/ulogd_LOGEMU.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'extensions/ulogd_LOGEMU.c') diff --git a/extensions/ulogd_LOGEMU.c b/extensions/ulogd_LOGEMU.c index 960084e..35f768d 100644 --- a/extensions/ulogd_LOGEMU.c +++ b/extensions/ulogd_LOGEMU.c @@ -1,4 +1,4 @@ -/* ulogd_LOGEMU.c, Version $Revision: 1.4 $ +/* ulogd_LOGEMU.c, Version $Revision: 1.5 $ * * ulogd output target for syslog logging emulation * @@ -8,7 +8,7 @@ * (C) 2000 by Harald Welte * This software is released under the terms of GNU GPL * - * $Id: ulogd_LOGEMU.c,v 1.4 2001/03/25 18:25:01 laforge Exp $ + * $Id: ulogd_LOGEMU.c,v 1.5 2001/05/20 15:07:45 laforge Exp $ * */ @@ -245,9 +245,28 @@ static int get_ids(void) return 0; } +void sighup_handler_logemu(int signal) +{ + 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); + } + break; + default: + break; + } +} + + static ulog_output_t logemu_op[] = { - { NULL, "syslogemu", &_output_logemu }, - { NULL, "", NULL }, + { NULL, "syslogemu", &_output_logemu, &sighup_handler_logemu }, + { NULL, "", NULL, NULL }, }; /* register output plugin with ulogd */ -- cgit v1.2.3