mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-01 14:38:28 +00:00
BUILD/MINOR: threads: unbreak build with threads disabled
Depending on the optimization level, gcc may complain that wake_thread() uses an invalid array index for poller_wr_pipe[] when called from __task_wakeup(). Normally the condition to get there never happens, but it's simpler to ifdef out this part of the code which is only used to wake other threads up. No backport is needed, this was brought by the recent introduction of the ability to wake a sleeping thread.
This commit is contained in:
parent
c786768dba
commit
85d9b84eb1
@ -71,7 +71,7 @@ void __task_wakeup(struct task *t, struct eb_root *root)
|
||||
{
|
||||
void *expected = NULL;
|
||||
int *rq_size;
|
||||
unsigned long old_active_mask;
|
||||
unsigned long __maybe_unused old_active_mask;
|
||||
|
||||
#ifdef USE_THREAD
|
||||
if (root == &rqueue) {
|
||||
@ -155,6 +155,7 @@ redo:
|
||||
|
||||
rqueue_size[nb]++;
|
||||
}
|
||||
#ifdef USE_THREAD
|
||||
/* If all threads that are supposed to handle this task are sleeping,
|
||||
* wake one.
|
||||
*/
|
||||
@ -162,6 +163,7 @@ redo:
|
||||
(t->thread_mask & all_threads_mask)) &&
|
||||
!(t->thread_mask & old_active_mask))
|
||||
wake_thread(my_ffsl((t->thread_mask & all_threads_mask) &~ tid_bit) - 1);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user