[MEDIUM] listeners: don't stop proxies when global maxconn is reached

Now we don't have to stop proxies anymore since their listeners will be
queued if they attempt to accept a connection past the global limits.
This commit is contained in:
Willy Tarreau 2011-07-25 07:08:45 +02:00
parent 07687c171e
commit 2242649b3a

View File

@ -482,6 +482,10 @@ void maintain_proxies(int *next)
/* if there are enough free sessions, we'll activate proxies */
if (actconn < global.maxconn) {
/* We should periodically try to enable listeners waiting for a
* global resource here.
*/
for (; p; p = p->next) {
/* check the various reasons we may find to block the frontend */
if (p->feconn >= p->maxconn)
@ -519,16 +523,6 @@ void maintain_proxies(int *next)
}
}
}
else { /* block all proxies */
while (p) {
if (p->state == PR_STRUN) {
for (l = p->listen; l != NULL; l = l->next)
disable_listener(l);
p->state = PR_STIDLE;
}
p = p->next;
}
}
if (stopping) {
struct peers *prs;