diff options
author | Graham Dumpleton <Graham.Dumpleton@gmail.com> | 2015-10-20 20:51:12 +1100 |
---|---|---|
committer | Graham Dumpleton <Graham.Dumpleton@gmail.com> | 2015-10-20 20:51:12 +1100 |
commit | b8aa91d65097c0609dde811cb730690368d7ab16 (patch) | |
tree | b6904418941815b87946d5fab5de9e10bbc09926 | |
parent | b5d4a8d7a086a73dfcdc8cd16c90889fd1792cfe (diff) | |
download | mod_wsgi-b8aa91d65097c0609dde811cb730690368d7ab16.tar.gz |
Fix post mortem debugger for exception when yielding items or in close().
-rw-r--r-- | docs/release-notes/version-4.4.20.rst | 7 | ||||
-rw-r--r-- | src/server/__init__.py | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/docs/release-notes/version-4.4.20.rst b/docs/release-notes/version-4.4.20.rst index e3da867..5f69c91 100644 --- a/docs/release-notes/version-4.4.20.rst +++ b/docs/release-notes/version-4.4.20.rst @@ -9,3 +9,10 @@ Version 4.4.20 of mod_wsgi can be obtained from: For details on the availability of Windows binaries see: https://github.com/GrahamDumpleton/mod_wsgi/tree/master/win32 + +Bugs Fixed +---------- + +1. Post mortem debugger would fail if the exception was raised during +yielding of items from a WSGI application, or inside of any ``close()`` +callable of an iterator returned from the WSGI application. diff --git a/src/server/__init__.py b/src/server/__init__.py index 124a692..9df57c1 100644 --- a/src/server/__init__.py +++ b/src/server/__init__.py @@ -1117,7 +1117,7 @@ class PostMortemDebugger(object): for item in self.generator: yield item except Exception: - self.debug_exception() + self.run_post_mortem() raise def close(self): @@ -1125,7 +1125,7 @@ class PostMortemDebugger(object): if hasattr(self.generator, 'close'): return self.generator.close() except Exception: - self.debug_exception() + self.run_post_mortem() raise class RequestRecorder(object): |