diff options
author | Allan Saddi <allan@saddi.com> | 2009-10-27 09:24:05 -0700 |
---|---|---|
committer | Allan Saddi <allan@saddi.com> | 2009-10-27 09:24:05 -0700 |
commit | 7d843cd0f4d08cc74dafee9fbb7a521025dacbe6 (patch) | |
tree | c5f5739e0f7192c454717f8de4adf9d12cf2ad89 /flup/server/threadpool.py | |
parent | 066a539a1b65b0f6cf221a96faec9ed3492db80c (diff) | |
download | flup-7d843cd0f4d08cc74dafee9fbb7a521025dacbe6.tar.gz |
Exit gracefully if a thread cannot be started when adding a new job. #42
Diffstat (limited to 'flup/server/threadpool.py')
-rw-r--r-- | flup/server/threadpool.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/flup/server/threadpool.py b/flup/server/threadpool.py index 98d3afe..e3d1bcd 100644 --- a/flup/server/threadpool.py +++ b/flup/server/threadpool.py @@ -89,9 +89,12 @@ class ThreadPool(object): # Maintain minimum number of spares. while self._idleCount < self._minSpare and \ self._workerCount < self._maxThreads: + try: + self._start_new_thread() + except thread.error: + return False self._workerCount += 1 self._idleCount += 1 - self._start_new_thread() # Hand off the job. if self._idleCount or allowQueuing: |