Willy Tarreau
59b5da4873
BUG/MEDIUM: listener: never suspend inherited sockets
It is not acceptable to suspend an inherited socket because we'd kill its listening state, making it possibly unrecoverable for future processes. The situation which can trigger this is when there is an abns socket in a config and an inherited FD on another listener. Upon soft reload, the abns fails to bind, a SIGTTOU is sent to the old process which suspends everything, including the inherited FD, then the new process can bind and tell the old one to quit. Except that the new FD was not set back to the listen state, which is detected by listener_accept() which can pause it. It's only upon second reload that the FD works again. The solution is to refrain from suspending such FDs since we don't own them. And the next process will get them right anyway from its config. For now only TCP and UDP face this issue so it's better to address this on a protocol basis No backport is needed, this is related to the new listeners in 2.3.
The HAProxy documentation has been split into a number of different files for ease of use. Please refer to the following files depending on what you're looking for : - INSTALL for instructions on how to build and install HAProxy - BRANCHES to understand the project's life cycle and what version to use - LICENSE for the project's license - CONTRIBUTING for the process to follow to submit contributions The more detailed documentation is located into the doc/ directory : - doc/intro.txt for a quick introduction on HAProxy - doc/configuration.txt for the configuration's reference manual - doc/lua.txt for the Lua's reference manual - doc/SPOE.txt for how to use the SPOE engine - doc/network-namespaces.txt for how to use network namespaces under Linux - doc/management.txt for the management guide - doc/regression-testing.txt for how to use the regression testing suite - doc/peers.txt for the peers protocol reference - doc/coding-style.txt for how to adopt HAProxy's coding style - doc/internals for developer-specific documentation (not all up to date)
Description
Languages
Shell
100%