tree ee7c69b5de1234837b8dfb61096b8dd9666e4c5f
parent 5d05db8ce1af46337a30ea5e399897fe459b36c6
author William Lallemand <wlallemand@haproxy.com> 1541522236 +0100
committer Willy Tarreau <w@1wt.eu> 1541525457 +0100
encoding latin1

MEDIUM: mworker: leave when the master die

When the master die, the worker should exit too, this is achieved by
checking if the FD of the socketpair/pipe was closed between the master
and the worker.

In the former architecture of the master-worker, there was only a pipe
between the master and the workers, and it was easy to check an EOF on
the pipe FD to exit() the worker.

With the new architecture, we use a socketpair by process, and this
socketpair is also used to accept new connections with the
listener_accept() callback.

This accept callback can't handle the EOF and the exit of the process,
because it's very specific to the master worker. This is why we
transformed the mworker_pipe_handler() function in a wrapper which check
if there is an EOF and exit the process, and if not call
listener_accept() to achieve the accept.
