flup-server

changeset 102:6ea1ffac1bcb

Restore check of the absolute number of children against maxSpare and document rationale.
author Allan Saddi <allan@saddi.com>
date Mon, 17 Aug 2009 12:42:43 -0700
parents e0e7e885f6cc
children 00a660fd9cb4
files flup/server/preforkserver.py
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line diff
     1.1 --- a/flup/server/preforkserver.py	Mon Aug 17 13:46:42 2009 -0500
     1.2 +++ b/flup/server/preforkserver.py	Mon Aug 17 12:42:43 2009 -0700
     1.3 @@ -126,8 +126,12 @@
     1.4          
     1.5          # Main loop.
     1.6          while self._keepGoing:
     1.7 -            # Maintain minimum number of children.
     1.8 -            while len(self._children) < self._minSpare:
     1.9 +            # Maintain minimum number of children. Note that we are checking
    1.10 +            # the absolute number of children, not the number of "available"
    1.11 +            # children. We explicitly test against _maxSpare to maintain
    1.12 +            # an *optimistic* absolute minimum. The number of children will
    1.13 +            # always be in the range [_maxSpare, _maxChildren].
    1.14 +            while len(self._children) < self._maxSpare:
    1.15                  if not self._spawnChild(sock): break
    1.16  
    1.17              # Wait on any socket activity from live children.