MINOR: threads: Only consider running threads to end a thread harmeless period
When a thread ends its harmeless period, we must only consider running
threads when testing threads_want_rdv_mask mask. To do so, we reintroduce
all_threads_mask mask in the bitwise operation (It was removed to fix a
deadlock).
Note that for now it is useless because there is no way to stop threads or
to have threads reserved for another task. But it is safer this way to avoid
bugs in the future.
diff --git a/src/thread.c b/src/thread.c
index 742e47c..07017dd 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -56,7 +56,7 @@
void thread_harmless_till_end()
{
_HA_ATOMIC_OR(&threads_harmless_mask, tid_bit);
- while (threads_want_rdv_mask & ~tid_bit) {
+ while (threads_want_rdv_mask & all_threads_mask & ~tid_bit) {
ha_thread_relax();
}
}