mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
A backend stream-interface attached to a reused connection remains in the state SI_ST_CONN until some data are sent to validate the connection. But when the url_param algorithm is used to balance connections, no data are sent while the connection is not established. So it is a chicken and egg situation. To solve the problem, if no error is detected and when the request channel is waiting for the connect(), we mark the read side as attached on the response channel as soon as possible and we wake the request channel up once. This happens in 2 places. The first one is right after the connect(), when the stream-interface is still in state SI_ST_CON, in the function sess_update_st_con_tcp(). The second one is when an applet is used instead of a real connection to a server, in the function sess_prepare_conn_req(). In fact, it is done when the backend stream-interface is set to the state SI_ST_EST. This patch must be backported to 1.9.
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 - 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.8%
Makefile
0.5%
Lua
0.2%
Python
0.2%