[syslog-ng] [Bug 154] Processes forked via program() do not properly terminate
bugzilla at bugzilla.balabit.com
bugzilla at bugzilla.balabit.com
Wed Jan 18 17:01:28 CET 2012
https://bugzilla.balabit.com/show_bug.cgi?id=154
--- Comment #4 from Balazs Scheidler <bazsi at balabit.hu> 2012-01-18 17:01:28 ---
Hmm.. can you check if this change fixes the issue for you?
diff --git a/modules/afprog/afprog.c b/modules/afprog/afprog.c
index d3e0d6d..4ed66c4 100644
--- a/modules/afprog/afprog.c
+++ b/modules/afprog/afprog.c
@@ -178,7 +178,7 @@ afprogram_sd_deinit(LogPipe *s)
evt_tag_str("cmdline", self->cmdline->str),
evt_tag_int("child_pid", self->pid),
NULL);
- kill(self->pid, SIGTERM);
+ kill(-self->pid, SIGTERM);
self->pid = -1;
}
@@ -296,7 +296,7 @@ afprogram_dd_deinit(LogPipe *s)
evt_tag_str("cmdline", self->cmdline->str),
evt_tag_int("child_pid", self->pid),
NULL);
- kill(self->pid, SIGTERM);
+ kill(-self->pid, SIGTERM);
self->pid = -1;
}
if (self->writer)
This makes syslog-ng to send signals to the whole process group. I've just tried on our Solaris 10 system, that once I start a process in "sh", whenever
sh receives a signal, it is indeed not propagated to the child processes.
When sending signals to the whole process group, it works, that's what the patch above does.
--
Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the syslog-ng
mailing list