diff options
author | Allan Saddi <allan@saddi.com> | 2010-02-12 10:53:36 -0800 |
---|---|---|
committer | Allan Saddi <allan@saddi.com> | 2010-02-12 10:53:36 -0800 |
commit | 91e9861b1846265dd58e6c8b75a69db3caf56dc5 (patch) | |
tree | 98bf6fda389f9f03845b9a5641c31b4a978b8537 | |
parent | c56fdcb405efd1bec12da406e66f163028fd3f89 (diff) | |
download | flup-91e9861b1846265dd58e6c8b75a69db3caf56dc5.tar.gz |
If start_new_thread fails, ensure the FastCGI request is properly closed.
-rw-r--r-- | flup/server/fcgi_base.py | 5 |
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() |