diff options
author | Benjamin Peterson <benjamin@python.org> | 2019-10-14 02:46:03 -0700 |
---|---|---|
committer | Chris Dent <cdent@anticdent.org> | 2019-10-14 10:49:29 +0100 |
commit | 80d4e022687e8bc3408296d8b27d2c13d1527872 (patch) | |
tree | c2be90c97cd3ee5f5dda5bb444994b12a7295af7 /paste | |
parent | bb7f21ae437afeddb991cdb5e653c0127e86073f (diff) | |
download | paste-git-80d4e022687e8bc3408296d8b27d2c13d1527872.tar.gz |
Avoid some reference cycles through tracebacks. (#36)
Diffstat (limited to 'paste')
-rwxr-xr-x | paste/httpserver.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/paste/httpserver.py b/paste/httpserver.py index 7709c60..7c0a0af 100755 --- a/paste/httpserver.py +++ b/paste/httpserver.py @@ -1077,8 +1077,7 @@ class ThreadPoolMixIn(object): lambda: self.process_request_in_thread(request, client_address)) def handle_error(self, request, client_address): - exc_class, exc, tb = sys.exc_info() - if exc_class is ServerExit: + if sys.exc_info()[0] is ServerExit: # This is actually a request to stop the server raise return super(ThreadPoolMixIn, self).handle_error(request, client_address) @@ -1092,11 +1091,10 @@ class ThreadPoolMixIn(object): try: self.finish_request(request, client_address) self.close_request(request) - except: + except BaseException as e: self.handle_error(request, client_address) self.close_request(request) - exc = sys.exc_info()[1] - if isinstance(exc, (MemoryError, KeyboardInterrupt)): + if isinstance(e, (MemoryError, KeyboardInterrupt)): raise def serve_forever(self): |