MEDIUM: servers: Schedule the server requeue target on creation

On creation, schedule the server requeue once it's been created.
It is possible that when the server went up, it tried to queue itself
into the lb specific code, failed to do so, and expect the tasklet to
run to take care of that.

This should be backported to 3.2.
This is part of an attempt to fix github issue #3143.
This commit is contained in:
Olivier Houchard 2025-10-01 17:56:52 +02:00 committed by Olivier Houchard
parent 7ea80cc5b6
commit 822ee90dc2

View File

@ -5964,6 +5964,12 @@ static int init_srv_requeue(struct server *srv)
srv->requeue_tasklet = t; srv->requeue_tasklet = t;
t->process = server_requeue; t->process = server_requeue;
t->context = srv; t->context = srv;
/*
* Run the tasklet once, in the very unlikely event the server
* failed to queue itself when brought up, which could happen if
* a memory allocation failed.
*/
tasklet_wakeup(t);
return ERR_NONE; return ERR_NONE;
} }