haproxy public development tree
Go to file
Christopher Faulet de79cd28ec BUG/MINOR: stats: Make stat_l variable used to dump a stat line thread local
Since ee63d4bd6 ("MEDIUM: stats: integrate static proxies stats in new
stats"), all dumped stats for a given domain, the default ones and the
modules ones, are merged in a signle array to dump them in a generic way.
For this purpose, the stat_l global variable is allocated at startup to
store a line of stats before the dump, i.e. all stats of an entity
(frontend, backend, listener, server or dns nameserver). But this variable
is not thread safe.  If stats are retrieved concurrently by several clients
on different threads, the same variable is used. This leads to corrupted
stats output.

To fix the bug, the stat_l variable is now thread local.

This patch should probably solve issues #972 and #992. It must be backported
to 2.3.
2021-01-06 10:34:12 +01:00
.github CI: github actions: build several popular "contrib" tools 2021-01-05 17:44:00 +01:00
contrib CLEANUP: Apply the coccinelle patch for XXXcmp() on contrib/ 2021-01-04 10:09:02 +01:00
doc MEDIUM: stick-tables: Add srvkey option to stick-table 2020-12-31 10:04:54 +01:00
examples CLEANUP: assorted typo fixes in the code and comments 2020-06-26 11:27:28 +02:00
include MINOR: quic: Drop packets with STREAM frames with wrong direction. 2021-01-04 12:31:28 +01:00
reg-tests REGTESTS: add unresolvable servers to srvkey-addr 2021-01-06 09:20:22 +01:00
scripts REGTESTS: make use of HAPROXY_ARGS and pass -dM by default 2020-12-16 21:43:50 +01:00
src BUG/MINOR: stats: Make stat_l variable used to dump a stat line thread local 2021-01-06 10:34:12 +01:00
tests MEDIUM: config: remove the deprecated and dangerous global "debug" directive 2020-10-09 19:18:45 +02:00
.cirrus.yml CI: cirrus: drop CentOS 6 builds 2020-12-16 09:21:51 +01:00
.gitattributes MINOR: Commit .gitattributes 2020-09-05 16:21:59 +02:00
.gitignore CLEANUP: Update .gitignore 2020-09-12 13:11:24 +02:00
.travis.yml CI: travis-ci: drop coverity scan builds 2020-12-22 19:39:23 +01:00
BRANCHES DOC: assorted typo fixes in the documentation 2020-03-09 14:45:58 +01:00
CHANGELOG [RELEASE] Released version 2.4-dev4 2020-12-21 11:54:56 +01:00
CONTRIBUTING DOC: Use gender neutral language 2020-07-26 22:35:43 +02:00
INSTALL DOC: mention in INSTALL that it's development again 2020-11-05 17:19:13 +01:00
LICENSE
MAINTAINERS DOC: email change of the DeviceAtlas maintainer 2020-12-10 11:00:18 +01:00
Makefile DOC: Improve the message printed when running make w/o TARGET 2021-01-05 19:32:48 +01:00
README
ROADMAP
SUBVERS
VERDATE [RELEASE] Released version 2.4-dev4 2020-12-21 11:54:56 +01:00
VERSION [RELEASE] Released version 2.4-dev4 2020-12-21 11:54:56 +01: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)