BUG/MEDIUM: threads: Ignore current thread to end its harmless period
authorChristopher Faulet <cfaulet@haproxy.com>
Wed, 14 Apr 2021 12:02:25 +0000 (14:02 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Wed, 21 Apr 2021 08:13:37 +0000 (10:13 +0200)
commita3259cb81e3960e5e45fe03a890a094002f3e283
tree7ee567b1831dec198b6224c915e40d4fba23f929
parentb45995f611e2f5a644d4136a97b854cb7a79f3d8
BUG/MEDIUM: threads: Ignore current thread to end its harmless period

A previous patch was pushed to fix a deadlock when an isolated thread ends
its harmless period (a9a9e9aac ["BUG/MEDIUM: thread: Fix a deadlock if an
isolated thread is marked as harmless"]). But, unfortunately, the fix is
incomplete. The same must be done in the outer loop, in
thread_harmless_end() function. The current thread must be ignored when
threads_want_rdv_mask mask is tested.

This patch must also be backported as far as 2.0.

(cherry picked from commit f63a18550073e821976606f9602c261976939ae9)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
include/haproxy/thread.h