summaryrefslogtreecommitdiffstats
path: root/src/privsep-inet.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-06-16 11:58:16 +0000
committerRoy Marples <roy@marples.name>2020-06-16 11:58:16 +0000
commit84a8cab4e03c42b445fbcb33c3c03dd93e8803cc (patch)
tree146d8dbc81f0365edb5b42a3c3c24689e4b28dfd /src/privsep-inet.c
parent51954c915aa6914486fc386cbe1e9aece02d368c (diff)
downloaddhcpcd-84a8cab4e03c42b445fbcb33c3c03dd93e8803cc.tar.xz
privsep: Don't handle any signals meant for the main process
Just incase someone issues a killall -HUP dhcpcd
Diffstat (limited to 'src/privsep-inet.c')
-rw-r--r--src/privsep-inet.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/privsep-inet.c b/src/privsep-inet.c
index 0ac2b39a..44013a28 100644
--- a/src/privsep-inet.c
+++ b/src/privsep-inet.c
@@ -296,9 +296,15 @@ ps_inet_signalcb(int sig, void *arg)
{
struct dhcpcd_ctx *ctx = arg;
- /* Ignore SIGINT, respect PS_STOP command or SIGTERM. */
- if (sig == SIGINT)
+ /* Ignore dhcpcd signals */
+ switch (sig) {
+ case SIGINT:
+ case SIGALRM:
+ case SIGHUP:
+ case SIGUSR1:
+ case SIGUSR2:
return;
+ }
shutdown(ctx->ps_inet_fd, SHUT_RDWR);
eloop_exit(ctx->eloop, sig == SIGTERM ? EXIT_SUCCESS : EXIT_FAILURE);