tree d6c69907f7e6371141467cf08f70d92c13370fad
parent b2f38c13d1b160ba53f3560459b38b0f2345073d
author Willy Tarreau <w@1wt.eu> 1674150228 +0100
committer Willy Tarreau <w@1wt.eu> 1674152537 +0100
encoding latin1

MINOR: threads: add a thread_harmless_end() version that doesn't wait

thread_harmless_end() needs to wait for rdv_requests to disappear so
that we're certain to respect a harmless promise that possibly allowed
another thread to proceed under isolation. But this doesn't work in a
signal handler because a thread could be interrupted by the debug
handler while already waiting for isolation and with rdv_request>0.
As such this function could cause a deadlock in such a signal handler.

Let's implement a specific variant for this, thread_harmless_end_sig(),
that just resets the thread's bit and doesn't wait. It must of course
not be used past a check point that would allow the isolation requester
to return and see the thread as temporarily harmless then turning back
on its promise.

This will be needed to fix a race in the debug handler.
