haproxy/include
Willy Tarreau 7067b3a92e BUG/MINOR: deinit/threads: make hard-stop-after perform a clean exit
As reported in GH issue #99, when hard-stop-after triggers and threads
are in use, the chance that any thread releases the resources in use by
the other ones is non-null. Thus no thread should be allowed to deinit()
nor exit by itself.

Here we take a different approach. We simply use a 3rd possible value
for the "killed" variable so that all threads know they must break out
of the run-poll-loop and immediately stop.

This patch was tested by commenting the stream_shutdown() calls in
hard_stop() to increase the chances to see a stream use released
resources. With this fix applied, it never crashes anymore.

This fix should be backported to 1.9 and 1.8.
2019-06-02 11:30:07 +02:00
..
common MEDIUM: buffers: relax the buffer lock a little bit 2019-05-28 17:25:21 +02:00
import BUILD: threads/plock: fix a build issue on Clang without optimization 2017-11-20 21:06:35 +01:00
proto MEDIUM: connection: Upstream SOCKS4 proxy support 2019-05-31 17:24:06 +02:00
types BUG/MINOR: deinit/threads: make hard-stop-after perform a clean exit 2019-06-02 11:30:07 +02:00