From 822ee90dc2b5910a88948053ffa21b4caab53d28 Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Wed, 1 Oct 2025 17:56:52 +0200 Subject: [PATCH] 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. --- src/server.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; }