Hi Lukas, On Sun, Dec 24, 2017 at 05:52:20PM +0100, Lukas Tribus wrote: > Hello, > > > as per the report from sagaxu on discourse: > https://discourse.haproxy.org/t/listen-socket-closed-after-reloading-by-sigusr2/1925 > > It appears master-worker reload (USR2 to the master process) is > currently broken. > > When sending USR2 to the master process, all sockets are closed and > while a worker is forked successfully, it does not work as it will > never have any sockets connected to it. > > > The bug has been introduced in commit baf6ea4b (" BUG/MINOR: mworker: > detach from tty when in daemon mode") and affects 1.8.1 and newer > stable releases. > The discourse-OP also states that the socket is likely closed by the > triple flcose() introduced in that bisected commit.
Ah bad :-( But interestingly, we were speaking about using CLOEXEC on listeners, I think this will make all of this much easier to deal with. > I'm not sufficiently familiar with the mworker and expected > forking/stdin/stdout/stderr behavior to be able to suggest a fix, but > I can confirm the issue is easily reproducible post-baf6ea4b. Thanks very much for the tests and analysis. It's probably time to drop your keyboard for this evening :-) > Best regards and merry xmas! thanks and to you as well. Willy