diff options
| author | Guido van Rossum <guido@python.org> | 2001-10-18 18:02:07 +0000 |
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 2001-10-18 18:02:07 +0000 |
| commit | d699cde925a338558b7cfcaeb9198ecac873cc67 (patch) | |
| tree | d159cc7662cf89ed69f4419d6b5b1ee616304a0c /Lib/SocketServer.py | |
| parent | efd3545059793e9d7dd21a553a95bcd81e2a41a8 (diff) | |
| download | cpython-d699cde925a338558b7cfcaeb9198ecac873cc67.tar.gz | |
SF bug #471720: ThreadingMixIn/TCPServer forgets close
Solved with a helper method that calls finish_request() and then
close_request(). The code is by Max Neunhöffer.
Diffstat (limited to 'Lib/SocketServer.py')
| -rw-r--r-- | Lib/SocketServer.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/SocketServer.py b/Lib/SocketServer.py index 00064ba896..5128e17548 100644 --- a/Lib/SocketServer.py +++ b/Lib/SocketServer.py @@ -448,10 +448,15 @@ class ForkingMixIn: class ThreadingMixIn: """Mix-in class to handle each request in a new thread.""" + def process_request_thread(self, request, client_address): + """Same as in BaseServer but as a thread.""" + self.finish_request(request, client_address) + self.close_request(request) + def process_request(self, request, client_address): """Start a new thread to process the request.""" import threading - t = threading.Thread(target = self.finish_request, + t = threading.Thread(target = self.process_request_thread, args = (request, client_address)) t.start() |
