Laurence Tratt notes that the accept() call in get_request() can fail,
and suggests putting a try/except around the get_request() call in
handle_request(). (All in class TCPServer.)
diff --git a/Lib/SocketServer.py b/Lib/SocketServer.py
index fe1402e..1ede68d 100644
--- a/Lib/SocketServer.py
+++ b/Lib/SocketServer.py
@@ -207,7 +207,10 @@
def handle_request(self):
"""Handle one request, possibly blocking."""
- request, client_address = self.get_request()
+ try:
+ request, client_address = self.get_request()
+ except socket.error:
+ return
if self.verify_request(request, client_address):
try:
self.process_request(request, client_address)