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.
diff --git a/include/proto/task.h b/include/proto/task.h
index d1371f3..8aceee5 100644
--- a/include/proto/task.h
+++ b/include/proto/task.h
@@ -205,6 +205,8 @@
static inline void tasklet_wakeup(struct tasklet *tl)
{
+ if (!LIST_ISEMPTY(&tl->list))
+ return;
LIST_ADDQ(&task_list[tid], &tl->list);
task_list_size[tid]++;
HA_ATOMIC_ADD(&tasks_run_queue, 1);