From 80d4e022687e8bc3408296d8b27d2c13d1527872 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 14 Oct 2019 02:46:03 -0700 Subject: Avoid some reference cycles through tracebacks. (#36) --- paste/httpserver.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'paste/httpserver.py') 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): -- cgit v1.2.1