Add missing shutdown_request on TCPServer for Python <= 2.6

issue2606
review374001
This commit is contained in:
Cédric Krier committed 2012-05-19 15:30:38 +02:00
1 parent 94d45d8755
commit 5c9ea961ec
2 files changed
+24

No files matched your search

+12
View File
@@ -306,6 +306,18 @@ class SimpleJSONRPCServer(SocketServer.TCPServer,
for handler in self.handlers:
self.shutdown_request(handler.request)
if sys.version_info[:2] <= (2, 6):
def shutdown_request(self, request):
"""Called to shutdown and close an individual request."""
try:
#explicitly shutdown. socket.close() merely releases
#the socket and waits for GC to perform the actual close.
request.shutdown(socket.SHUT_WR)
except socket.error:
pass # some platforms may raise ENOTCONN here
self.close_request(request)
class SimpleThreadedJSONRPCServer(SocketServer.ThreadingMixIn,
SimpleJSONRPCServer):
+12
View File
@@ -206,6 +206,18 @@ class SimpleThreadedXMLRPCServer(SocketServer.ThreadingMixIn,
for handler in self.handlers:
self.shutdown_request(handler.request)
if sys.version_info[:2] <= (2, 6):
def shutdown_request(self, request):
"""Called to shutdown and close an individual request."""
try:
#explicitly shutdown. socket.close() merely releases
#the socket and waits for GC to perform the actual close.
request.shutdown(socket.SHUT_WR)
except socket.error:
pass # some platforms may raise ENOTCONN here
self.close_request(request)
class SimpleThreadedXMLRPCServer6(SimpleThreadedXMLRPCServer):
address_family = socket.AF_INET6