mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-02-05 09:21:42 +01:00
As discussed in issue #140, processes are forked with signals blocked resulting in haproxy's kill being ignored. This happens when the command takes more time to complete than the configured check timeout or interval. Just calling "sleep 30" every second makes the problem obvious. The fix simply consists in unblocking the signals in the child after the fork. It needs to be backported to all stable branches containing external checks and where signals are blocked on startup. It's unclear when it started, but the following config exhibits the issue : global external-check listen www bind :8001 timeout client 5s timeout server 5s timeout connect 5s option external-check external-check command "$PWD/sleep10.sh" server local 127.0.0.1:80 check inter 200 $ cat sleep10.sh #!/bin/sh exec /bin/sleep 10 The "sleep" processes keep accumulating for 10 seconds and stabilize around 25 when the bug is present. Just issuing "killall sleep" has no effect on them, and stopping haproxy leaves these processes behind.
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
C
98.1%
Shell
0.9%
Makefile
0.5%
Lua
0.2%
Python
0.1%