BUG/MINOR: mworker: properly pass SIGTTOU/SIGTTIN to workers
authorWilly Tarreau <w@1wt.eu>
Wed, 11 Dec 2019 13:24:07 +0000 (14:24 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 11 Dec 2019 13:35:46 +0000 (14:35 +0100)
commitb97a22aa43aaebca207e52c8c80a6b85de4a25d4
treebd621df00939b232012d22c738ee2ad4221cbb6c
parentf58f3a0fb818903610432cdb8f98060cffd9af29
BUG/MINOR: mworker: properly pass SIGTTOU/SIGTTIN to workers

If a new process is started with -sf and it fails to bind, it may send
a SIGTTOU to the master process in hope that it will temporarily unbind.
Unfortunately this one doesn't catch it and stops to background instead
of forwarding the signal to the workers. The same is true for SIGTTIN.

This commit simply implements an extra signal handler for the master to
deal with such signals that must be passed down to the workers. It must
be backported as far as 1.8, though there the code differs in that it's
entirely in haproxy.c and doesn't require an extra sig handler.

(cherry picked from commit d26c9f9465de24d2414f4a46653fc20fd2871ac4)
Signed-off-by: Willy Tarreau <w@1wt.eu>
include/proto/mworker.h
src/haproxy.c
src/mworker.c