summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Saddi <allan@saddi.com>2010-02-12 10:53:36 -0800
committerAllan Saddi <allan@saddi.com>2010-02-12 10:53:36 -0800
commit91e9861b1846265dd58e6c8b75a69db3caf56dc5 (patch)
tree98bf6fda389f9f03845b9a5641c31b4a978b8537
parentc56fdcb405efd1bec12da406e66f163028fd3f89 (diff)
downloadflup-91e9861b1846265dd58e6c8b75a69db3caf56dc5.tar.gz
If start_new_thread fails, ensure the FastCGI request is properly closed.
-rw-r--r--flup/server/fcgi_base.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/flup/server/fcgi_base.py b/flup/server/fcgi_base.py
index 56695ab..6b0b8a2 100644
--- a/flup/server/fcgi_base.py
+++ b/flup/server/fcgi_base.py
@@ -886,7 +886,10 @@ class MultiplexedConnection(Connection):
self._lock.release()
def _start_request(self, req):
- thread.start_new_thread(req.run, ())
+ try:
+ thread.start_new_thread(req.run, ())
+ except thread.error, e:
+ self.end_request(req, 0L, FCGI_OVERLOADED, remove=True)
def _do_params(self, inrec):
self._lock.acquire()