diff options
author | Jon Nelson <jnelson@jamponi.net> | 2009-08-17 13:46:42 -0500 |
---|---|---|
committer | Jon Nelson <jnelson@jamponi.net> | 2009-08-17 13:46:42 -0500 |
commit | 012f34a4dad6589d8b43f234e07d508fb80ef1a2 (patch) | |
tree | 0526a4f60a9a849316bc7354daea312a8b4c945b | |
parent | eb9cadee8623d0f76fe3cced30398bcbab59cfec (diff) | |
download | flup-012f34a4dad6589d8b43f234e07d508fb80ef1a2.tar.gz |
fix fork bomb and check number of children against minSpare not maxSpare
-rw-r--r-- | flup/server/preforkserver.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/flup/server/preforkserver.py b/flup/server/preforkserver.py index 7d0064b..b7b2ff1 100644 --- a/flup/server/preforkserver.py +++ b/flup/server/preforkserver.py @@ -102,6 +102,11 @@ class PreforkServer(object): self._children_to_purge = [] self._last_purge = 0 + if minSpare < 1: + raise ValueError("minSpare must be at least 1!") + if maxSpare < minSpare: + raise ValueError("maxSpare must be greater than, or equal to, minSpare!") + def run(self, sock): """ The main loop. Pass a socket that is ready to accept() client @@ -122,7 +127,7 @@ class PreforkServer(object): # Main loop. while self._keepGoing: # Maintain minimum number of children. - while len(self._children) < self._maxSpare: + while len(self._children) < self._minSpare: if not self._spawnChild(sock): break # Wait on any socket activity from live children. |