stacktrace-on-signal: Kills all processes in the same process group
A test in our CI pipeline tickled a Suricata segfault, `stacktrace-on-signal` functionality was enabled and our test driver was killed when re-raising the signal to the whole process group rather than just the Suricata process.
Will open a PR.
Author: Arne Welzel <email@example.com> Date: Wed May 4 20:06:36 2022 +0200 stacktrace-on-signal: Use kill(getpid(), sig_num) kill(0, ...) re-raises the signal to every processes in the process group which may impact unrelated processes. Concretely, in our CI pipeline, a segfaulting Suricata process killed the test driver. diff --git a/src/suricata.c b/src/suricata.c index 24ffa0fe6..b246ce13f 100644 --- a/src/suricata.c +++ b/src/suricata.c @@ -342,7 +342,7 @@ static void SignalHandlerUnexpected(int sig_num, siginfo_t *info, void *context) terminate: // Propagate signal to watchers, if any - kill(0, sig_num); + kill(getpid(), sig_num); }