MINOR: tasklets: Don't attempt to add a tasklet in the list twice.
Don't try to add a tasklet to the run queue if it's already in there, or we might get an infinite loop.
This commit is contained in:
parent
23d465c48c
commit
e17c2d3e57
@ -205,6 +205,8 @@ static inline struct task *task_unlink_rq(struct task *t)
|
|||||||
|
|
||||||
static inline void tasklet_wakeup(struct tasklet *tl)
|
static inline void tasklet_wakeup(struct tasklet *tl)
|
||||||
{
|
{
|
||||||
|
if (!LIST_ISEMPTY(&tl->list))
|
||||||
|
return;
|
||||||
LIST_ADDQ(&task_list[tid], &tl->list);
|
LIST_ADDQ(&task_list[tid], &tl->list);
|
||||||
task_list_size[tid]++;
|
task_list_size[tid]++;
|
||||||
HA_ATOMIC_ADD(&tasks_run_queue, 1);
|
HA_ATOMIC_ADD(&tasks_run_queue, 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user