[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.
diff --git a/src/proxy.c b/src/proxy.c
index 25398a9..2be1370 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -482,6 +482,10 @@
/* 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)
@@ -517,16 +521,6 @@
disable_listener(l);
p->state = PR_STIDLE;
}
- }
- }
- 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;
}
}