]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: listeners: check the current listener earlier state in resume_listener()
authorWilly Tarreau <w@1wt.eu>
Thu, 24 Sep 2020 16:54:11 +0000 (18:54 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 9 Oct 2020 09:27:30 +0000 (11:27 +0200)
It's quite confusing to have the test on LI_READY very low in the function
as it should be made much earlier. Just like with previous commit, let's
do it when entering. The additional states, however (limited, full) continue
to go through the whole function.

src/listener.c

index 6370a9f30bc55d3d7f4b60fde89f16f5d9e2ed0f..6327949a1554ebd5751150500332f52bb4154b1e 100644 (file)
@@ -395,6 +395,9 @@ int resume_listener(struct listener *l)
            !(proc_mask(l->rx.settings->bind_proc) & pid_bit))
                goto end;
 
+       if (l->state == LI_READY)
+               goto end;
+
        if (l->state == LI_ASSIGNED) {
                char msg[100];
                int err;
@@ -423,9 +426,6 @@ int resume_listener(struct listener *l)
                goto end;
        }
 
-       if (l->state == LI_READY)
-               goto end;
-
        if (l->maxconn && l->nbconn >= l->maxconn) {
                listener_set_state(l, LI_FULL);
                goto end;