diff --git a/service.c b/service.c index ce09b527..354b4716 100644 --- a/service.c +++ b/service.c @@ -278,6 +278,8 @@ int service_start(svc_t *svc) _e("%starting %s: %s", respawn ? "Res" : "S", svc->cmd, buf); } + sig_unblock(); + if (svc->inetd.cmd) status = svc->inetd.cmd(svc->inetd.type); else diff --git a/sig.c b/sig.c index aba9cf0e..e0b6d4e5 100644 --- a/sig.c +++ b/sig.c @@ -188,6 +188,7 @@ void sig_unblock(void) struct sigaction sa; sigemptyset(&nmask); + sigaddset(&nmask, SIGHUP); sigaddset(&nmask, SIGCHLD); sigaddset(&nmask, SIGINT); sigaddset(&nmask, SIGPWR);