[netfilter-cvslog] r7320 - branches/ulog/ulogd2/output

pablo at netfilter.org pablo at netfilter.org
Sun Feb 3 12:33:56 CET 2008


Author: pablo at netfilter.org
Date: 2008-02-03 12:33:56 +0100 (Sun, 03 Feb 2008)
New Revision: 7320

Modified:
   branches/ulog/ulogd2/output/ulogd_output_LOGEMU.c
Log:
From: Eric Leblond <eric at inl.fr>:
Changed sighup_handler_print to fallback to continue using old descriptor on new file opening failure. 

This patch is a backport of Marius Tomaschewski <mt at suse.de> work on ulogd.


Modified: branches/ulog/ulogd2/output/ulogd_output_LOGEMU.c
===================================================================
--- branches/ulog/ulogd2/output/ulogd_output_LOGEMU.c	2008-02-03 11:30:34 UTC (rev 7319)
+++ branches/ulog/ulogd2/output/ulogd_output_LOGEMU.c	2008-02-03 11:33:56 UTC (rev 7320)
@@ -114,15 +114,18 @@
 static void signal_handler_logemu(struct ulogd_pluginstance *pi, int signal)
 {
 	struct logemu_instance *li = (struct logemu_instance *) &pi->private;
+	FILE *old = li->of;
 
 	switch (signal) {
 	case SIGHUP:
 		ulogd_log(ULOGD_NOTICE, "syslogemu: reopening logfile\n");
-		fclose(li->of);
 		li->of = fopen(pi->config_kset->ces[0].u.string, "a");
 		if (!li->of) {
 			ulogd_log(ULOGD_ERROR, "can't reopen syslogemu: %s\n",
 				  strerror(errno));
+			li->of = old;
+		} else {
+			fclose(old);
 		}
 		break;
 	default:




More information about the netfilter-cvslog mailing list