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

Reply via email to