HAProxy - Load balancer
Find a file
Amaury Denoyelle 79a88ba3d0 BUG/MAJOR: server: prevent deadlock when using 'set maxconn server'
A deadlock is possible with 'set maxconn server' command, if there is
pending connection ready to be dequeued. This is caused by the locking
of server spinlock in both cli_parse_set_maxconn_server and
process_srv_queue.

Fix this by reducing the scope of the server lock into
server_parse_maxconn_change_request. If connection are dequeued, the
lock is taken a second time. This can be seen as suboptimal but as it
happens only during 'set maxconn server' it can be considered as
tolerable.

This issue was reported on the mailing list, for the 1.8.x branch.
It must be backported up to the 1.8.
2021-05-19 17:52:05 +02:00
.github CI: github actions: add OpenTracing builds 2021-05-18 18:37:37 +02:00
addons BUILD/MINOR: opentracing: fixed compilation with filter enabled 2021-05-12 09:45:16 +02:00
admin DOC: fix a few remainig cases of "Haproxy" and "HAproxy" in doc and comments 2021-05-09 06:50:46 +02:00
dev
doc DOC: ssl: Add documentation about CRL file hot update commands 2021-05-17 10:50:24 +02:00
examples EXAMPLES: add a trivial config for quick testing 2021-05-12 17:54:56 +02:00
include BUG/MEDIUM: ebtree: Invalid read when looking for dup entry 2021-05-18 19:26:21 +02:00
reg-tests REGTESTS: ssl: Add "set/commit ssl crl-file" test 2021-05-17 10:50:24 +02:00
scripts CI: github actions: add OpenTracing builds 2021-05-18 18:37:37 +02:00
src BUG/MAJOR: server: prevent deadlock when using 'set maxconn server' 2021-05-19 17:52:05 +02:00
tests
.cirrus.yml CI: introduce scripts/build-vtest.sh for installing VTest 2021-05-18 10:48:30 +02:00
.gitattributes
.gitignore ADDONS: make addons/ discoverable by git via .gitignore 2021-05-07 16:48:14 +02:00
.travis.yml CI: introduce scripts/build-vtest.sh for installing VTest 2021-05-18 10:48:30 +02:00
BRANCHES
CHANGELOG [RELEASE] Released version 2.5-dev0 2021-05-14 09:36:37 +02:00
CONTRIBUTING
INSTALL MINOR: version: it's development again 2021-05-14 09:36:08 +02:00
LICENSE
MAINTAINERS
Makefile BUILD: makefile: add a few popular ARMv8 CPU targets 2021-05-12 14:23:22 +02:00
README
ROADMAP
SUBVERS
VERDATE [RELEASE] Released version 2.4.0 2021-05-14 09:03:30 +02:00
VERSION [RELEASE] Released version 2.5-dev0 2021-05-14 09:36:37 +02:00

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)