MINOR: task: detect self-wakeups on tl==sched->current instead of TASK_RUNNING

This is exactly what we want to detect (a task/tasklet waking itself),
so let's use the proper condition for this.
This commit is contained in:
Willy Tarreau 2020-01-31 16:37:34 +01:00
parent d23d413e38
commit b30a153cd1

View File

@ -248,7 +248,7 @@ static inline void tasklet_wakeup(struct tasklet *tl)
if (tl->state & TASK_SELF_WAKING) {
LIST_ADDQ(&task_per_thread[tid].tasklets[TL_BULK], &tl->list);
}
else if (tl->state & TASK_RUNNING) {
else if ((struct task *)tl == sched->current) {
_HA_ATOMIC_OR(&tl->state, TASK_SELF_WAKING);
LIST_ADDQ(&task_per_thread[tid].tasklets[TL_BULK], &tl->list);
}