MINOR: systemd: ensure a reload doesn't mask a stop

If a SIGHUP/SIGUSR2 is sent immediately after a SIGTERM/SIGINT and
before wait() is notified, it will mask it since there's no queue,
only a copy of the last received signal. Let's add a special check
before overwriting the signal so that SIGTERM/SIGINT are not masked.
This commit is contained in:
Willy Tarreau 2016-02-27 08:26:14 +01:00
parent 6c2f7955e7
commit a3aa9e6840

View File

@ -123,7 +123,8 @@ static int read_pids(char ***pid_strv)
static void signal_handler(int signum)
{
caught_signal = signum;
if (caught_signal != SIGINT && caught_signal != SIGTERM)
caught_signal = signum;
}
/* handles SIGUSR2 and SIGHUP only */