Fix for previous commit
This commit is contained in:
parent
dfbf2767f2
commit
78cec967b2
1 changed files with 2 additions and 2 deletions
4
main.c
4
main.c
|
@ -83,13 +83,13 @@ int main(int argc, char* const* argv)
|
||||||
pid_child = pid;
|
pid_child = pid;
|
||||||
if (sigaction(SIGTERM, &forward_signal_descriptor, NULL) == -1)
|
if (sigaction(SIGTERM, &forward_signal_descriptor, NULL) == -1)
|
||||||
{
|
{
|
||||||
int err = errno;
|
int saved_errno = errno;
|
||||||
// Have to kill child here, otherwise that gets orphaned and runs anyway.
|
// Have to kill child here, otherwise that gets orphaned and runs anyway.
|
||||||
// Use SIGKILL here because it might forward SIGTERM to its child and that
|
// Use SIGKILL here because it might forward SIGTERM to its child and that
|
||||||
// decides not to stop.
|
// decides not to stop.
|
||||||
kill(pid_child, SIGKILL);
|
kill(pid_child, SIGKILL);
|
||||||
// Restore errno as it might've been overwritten by kill
|
// Restore errno as it might've been overwritten by kill
|
||||||
errno = err;
|
errno = saved_errno;
|
||||||
err(errno, "Unable to set up signal handler in head process");
|
err(errno, "Unable to set up signal handler in head process");
|
||||||
}
|
}
|
||||||
// parent waits for child then exits
|
// parent waits for child then exits
|
||||||
|
|
Loading…
Reference in a new issue