]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: 51d: Enabled multi threaded operation in the 51Degrees module.
authorBen51Degrees <Ben@51Degrees.com>
Tue, 5 Feb 2019 13:24:00 +0000 (13:24 +0000)
committerWilly Tarreau <w@1wt.eu>
Fri, 8 Feb 2019 20:29:23 +0000 (21:29 +0100)
commit4ddf59d070fbb208d8f8a86f2ceef171484350eb
tree50b350a7287bf119754fed4512ff49d4343b79be
parente0f6a2a2aa9a67f7e5590fb1621e04e48adfb894
MEDIUM: 51d: Enabled multi threaded operation in the 51Degrees module.

The existing threading flag in the 51Degrees API
(FIFTYONEDEGREES_NO_THREADING) has now been mapped to the HAProxy
threading flag (USE_THREAD), and the 51Degrees module code has been made
thread safe.
In Pattern, the cache is now locked with a spin lock from hathreads.h
using a new lable 'OTHER_LOCK'. The workset pool is now created with the
same size as the number of threads to avoid any time waiting on a
worket.
In Hash Trie, the global device offsets structure is only used in single
threaded operation. Multi threaded operation creates a new offsets
structure in each thread.
Makefile
include/common/hathreads.h
src/51d.c