From: /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org Date: Sun, 3 Feb 2008 11:39:34 +0000 (+0000) Subject: From: Eric Leblond : X-Git-Tag: ulogd-2.0.0beta2~140 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8d7e32cfb6f2fbdb83a2285bd869b2cd94607ed4;p=thirdparty%2Fulogd2.git From: Eric Leblond : For OPRINT, changed sighup_handler_print to fallback to continue using old descriptor on new file opening failure. Based on Marius Tomaschewski work. --- diff --git a/output/ulogd_output_OPRINT.c b/output/ulogd_output_OPRINT.c index 07364b6..563fc3b 100644 --- a/output/ulogd_output_OPRINT.c +++ b/output/ulogd_output_OPRINT.c @@ -118,15 +118,18 @@ static struct config_keyset oprint_kset = { static void sighup_handler_print(struct ulogd_pluginstance *upi, int signal) { struct oprint_priv *oi = (struct oprint_priv *) &upi->private; + FILE *old = oi->of; switch (signal) { case SIGHUP: ulogd_log(ULOGD_NOTICE, "OPRINT: reopening logfile\n"); - fclose(oi->of); oi->of = fopen(upi->config_kset->ces[0].u.string, "a"); if (!oi->of) { ulogd_log(ULOGD_ERROR, "can't open PKTLOG: %s\n", strerror(errno)); + oi->of = old; + } else { + fclose(old); } break; default: