haproxy/tests
Willy Tarreau de4db17dee MINOR: lists: rename some MT_LIST operations to clarify them
Initially when mt_lists were added, their purpose was to be used with
the scheduler, where anyone may concurrently add the same tasklet, so
it sounded natural to implement a check in MT_LIST_ADD{,Q}. Later their
usage was extended and MT_LIST_ADD{,Q} started to be used on situations
where the element to be added was exclusively owned by the one performing
the operation so a conflict was impossible. This became more obvious with
the idle connections and the new macro was called MT_LIST_ADDQ_NOCHECK.

But this remains confusing and at many places it's not expected that
an MT_LIST_ADD could possibly fail, and worse, at some places we start
by initializing it before adding (and the test is superflous) so let's
rename them to something more conventional to denote the presence of the
check or not:

   MT_LIST_ADD{,Q}    : inconditional operation, the caller owns the
                        element, and doesn't care about the element's
                        current state (exactly like LIST_ADD)
   MT_LIST_TRY_ADD{,Q}: only perform the operation if the element is not
                        already added or in the process of being added.

This means that the previously "safe" MT_LIST_ADD{,Q} are not "safe"
anymore. This also means that in case of backport mistakes in the
future causing this to be overlooked, the slower and safer functions
will still be used by default.

Note that the missing unchecked MT_LIST_ADD macro was added.

The rest of the code will have to be reviewed so that a number of
callers of MT_LIST_TRY_ADDQ are changed to MT_LIST_ADDQ to remove
the unneeded test.
2020-07-10 08:50:41 +02:00
..
0000-debug-stats.diff BUG/MAJOR: trash must always be the size of a buffer 2012-05-16 14:21:55 +02:00
blocksig.c TESTS: add blocksig.c to run tests with all signals blocked 2016-04-20 10:53:12 +02:00
ext-check.cfg TESTS: checks: add a simple test config for external checks 2017-10-04 15:42:00 +02:00
filltab25.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
hash_results.txt
hashing-results.txt DOC: Documentation for hashing function, with test results. 2013-11-20 22:14:47 +01:00
io_limits.txt
ip-hash.c
ist.c TESTS: ist: add a test file for the functions 2017-08-18 13:38:47 +02:00
reset.c
sockstat.txt
tcp-check.cfg TESTS: Add a testcase for multi-port + multi-server listener issue 2018-03-19 11:48:29 +01:00
test-acl-args.cfg CLEANUP: assorted typo fixes in the code and comments 2020-04-16 10:04:36 +02:00
test-address-syntax.cfg
test-arg.c
test-backlog.cfg
test-check-expect.cfg
test-connection.cfg
test-cookie-indirect.cfg
test-cookie-insert.cfg
test-cookie-passive.cfg
test-cookie-prefix.cfg
test-cookie-rewrite.cfg
test-disable-404.cfg
test-fsm.cfg
test-fwlc.cfg
test-fwrr.cfg
test-handshakes-chk.cfg TESTS: add a test configuration to stress handshake combinations 2017-03-19 11:59:47 +01:00
test-handshakes.cfg TESTS: add a test configuration to stress handshake combinations 2017-03-19 11:59:47 +01:00
test-http-send-name-hdr.cfg
test-inherited-fd.py MINOR: tests: add a python wrapper to test inherited fd 2017-11-15 19:53:34 +01:00
test-inspect-smtp.cfg
test-inspect-ssl.cfg
test-list.c MINOR: lists: rename some MT_LIST operations to clarify them 2020-07-10 08:50:41 +02:00
test-map-ports.cfg
test-pollers.cfg
test-redirect.cfg
test-sample-fetch-args.cfg CLEANUP: assorted typo fixes in the code and comments 2020-04-16 10:04:36 +02:00
test-sample-fetch-conv.cfg TESTS: add regression tests for ACL and sample expression parsers 2013-12-13 01:35:08 +01:00
test-sockpair.py TESTS: add a python wrapper for sockpair@ 2018-09-12 07:20:26 +02:00
test-sql.cfg
test-srv-verify.cfg MINOR: ssl: compare server certificate names to the SNI on outgoing connections 2017-07-06 15:15:28 +02:00
test-str2sa.cfg MINOR: tests: add a config file to ease address parsing tests. 2013-02-20 19:23:44 +01:00
test-time.cfg
test-timeout.cfg
test-url-hash.cfg
test-valid-names.cfg
test.c
test_hashes.c
test_pools.c
testinet.c
uri_hash.c