Add missing shutdown_request on TCPServer for Python <= 2.6
issue2606 review374001
This commit is contained in:
1 parent
94d45d8755
commit
5c9ea961ec
2 files changed
+24
No files matched your search
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user