mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 20:46:11 +02:00
MINOR: checks: pin the check to its thread upon wakeup
When a check leaves the sleeping state, we must pin it to the thread that is processing it. It's normally always the case after the first execution, but initial checks that start assigned to any thread (-1) could be assigned much later, causing problems with planned changes involving queuing. Thus better do it early, so that all threads start properly pinned.
This commit is contained in:
parent
7163f95b43
commit
3544c9f8a0
@ -1157,6 +1157,9 @@ struct task *process_chk_conn(struct task *t, void *context, unsigned int state)
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
||||
/* OK we're keeping it so this check is ours now */
|
||||
task_set_thread(t, tid);
|
||||
}
|
||||
|
||||
if (check->server)
|
||||
@ -1212,8 +1215,6 @@ struct task *process_chk_conn(struct task *t, void *context, unsigned int state)
|
||||
check->state |= CHK_ST_INPROGRESS;
|
||||
TRACE_STATE("init new health-check", CHK_EV_TASK_WAKE|CHK_EV_HCHK_START, check);
|
||||
|
||||
task_set_thread(t, tid);
|
||||
|
||||
check->current_step = NULL;
|
||||
|
||||
check->sc = sc_new_from_check(check, SC_FL_NONE);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user