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.
!(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;
goto end;
}
- if (l->state == LI_READY)
- goto end;
-
if (l->maxconn && l->nbconn >= l->maxconn) {
listener_set_state(l, LI_FULL);
goto end;