MINOR: task: make sched->current also reflect tasklets

sched->current is used to know the current task/tasklet, and is currently
only used by the panic dump code. However it turns out it was not set for
tasklets, which prevents us from using it for more usages, despite the
panic handling code already handling this case very well. Let's make sure
it's now set.
This commit is contained in:
Willy Tarreau 2020-01-31 10:39:03 +01:00
parent bb238834da
commit d23d413e38

View File

@ -339,10 +339,13 @@ static int run_tasks_from_list(struct list *list, int max)
ctx = t->context;
process = t->process;
t->calls++;
sched->current = t;
if (TASK_IS_TASKLET(t)) {
process(NULL, ctx, state);
done++;
sched->current = NULL;
__ha_barrier_store();
continue;
}
@ -356,7 +359,6 @@ static int run_tasks_from_list(struct list *list, int max)
t->call_date = now_ns;
}
sched->current = t;
__ha_barrier_store();
if (likely(process == process_stream))
t = process_stream(t, ctx, state);