From 90a38f2d6d156600bf73314986c5ff7d0960095d Mon Sep 17 00:00:00 2001 From: Allan Saddi Date: Mon, 17 Aug 2009 12:42:43 -0700 Subject: Restore check of the absolute number of children against maxSpare and document rationale. --- flup/server/preforkserver.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/flup/server/preforkserver.py b/flup/server/preforkserver.py index b7b2ff1..4c50e8c 100644 --- a/flup/server/preforkserver.py +++ b/flup/server/preforkserver.py @@ -126,8 +126,12 @@ class PreforkServer(object): # Main loop. while self._keepGoing: - # Maintain minimum number of children. - while len(self._children) < self._minSpare: + # Maintain minimum number of children. Note that we are checking + # the absolute number of children, not the number of "available" + # children. We explicitly test against _maxSpare to maintain + # an *optimistic* absolute minimum. The number of children will + # always be in the range [_maxSpare, _maxChildren]. + while len(self._children) < self._maxSpare: if not self._spawnChild(sock): break # Wait on any socket activity from live children. -- cgit v1.2.1