From: Olivier Houchard Date: Wed, 1 Oct 2025 15:56:52 +0000 (+0200) Subject: MEDIUM: servers: Schedule the server requeue target on creation X-Git-Tag: v3.3-dev9~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=822ee90dc2b5910a88948053ffa21b4caab53d28;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/server.c b/src/server.c index f786e30d8..24f0c4692 100644 --- a/src/server.c +++ b/src/server.c @@ -5964,6 +5964,12 @@ static int init_srv_requeue(struct server *srv) srv->requeue_tasklet = t; t->process = server_requeue; 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; }