BUG/MAJOR: sched: make it work also when not building with DEBUG_STRICT
Sadly, the fix from commit 54d31170a ("BUG/MAJOR: sched: make sure
task_kill() always queues the task") broke the builds without DEBUG_STRICT
as, in order to be careful, it plcaed a BUG_ON() around the previously
failing condition to check for any new possible failure, but this BUG_ON
strips the condition when DEBUG_STRICT is not set. We don't want BUG_ON
to evaluate any condition either as some debugging code calls possibly
expensive ones (e.g. in htx_get_stline). Let's just drop the useless
BUG_ON().
No backport is needed, this is 2.2-dev.
diff --git a/src/task.c b/src/task.c
index 7ce1cd2..72f09de 100644
--- a/src/task.c
+++ b/src/task.c
@@ -97,8 +97,8 @@
/* Beware: tasks that have never run don't have their ->list empty yet! */
LIST_INIT(&((struct tasklet *)t)->list);
- BUG_ON(!MT_LIST_ADDQ(&task_per_thread[thr].shared_tasklet_list,
- (struct mt_list *)&((struct tasklet *)t)->list));
+ MT_LIST_ADDQ(&task_per_thread[thr].shared_tasklet_list,
+ (struct mt_list *)&((struct tasklet *)t)->list);
_HA_ATOMIC_ADD(&tasks_run_queue, 1);
_HA_ATOMIC_ADD(&task_per_thread[thr].task_list_size, 1);
if (sleeping_thread_mask & (1UL << thr)) {