1
0
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:
Willy Tarreau 2018-07-27 17:14:41 +02:00
parent c786768dba
commit 85d9b84eb1

View File

@ -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;
}