From: Emeric Brun Date: Thu, 21 Dec 2017 13:42:26 +0000 (+0100) Subject: BUG/MEDIUM: checks: a server passed in maint state was not forced down. X-Git-Tag: v1.9-dev1~559 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e31148031f5c5327b342fe268d0cd4c882b0511d;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: checks: a server passed in maint state was not forced down. Setting a server in maint mode, the required next_state was not set before calling the 'lb_down' function and so the system state was never commited. This patch should be backported in 1.8 --- diff --git a/src/server.c b/src/server.c index 23e4cc98e0..a37e91968c 100644 --- a/src/server.c +++ b/src/server.c @@ -4630,10 +4630,11 @@ void srv_update_status(struct server *s) else { /* server was still running */ check->health = 0; /* failure */ s->last_change = now.tv_sec; + + s->next_state = SRV_ST_STOPPED; if (s->proxy->lbprm.set_server_status_down) s->proxy->lbprm.set_server_status_down(s); - s->next_state = SRV_ST_STOPPED; if (s->onmarkeddown & HANA_ONMARKEDDOWN_SHUTDOWNSESSIONS) srv_shutdown_streams(s, SF_ERR_DOWN);