diff options
Diffstat (limited to 'flup/server/preforkserver.py')
-rw-r--r-- | flup/server/preforkserver.py | 8 |
1 files 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. |