some platforms may raise ENOTCONN if the stack has disconnected the socket on behalf of the peer.
This commit is contained in:
Kristján Valur Jónsson 2009-07-03 23:07:07 +00:00
parent 9d36fd2acb
commit b5faac73a4
1 changed files with 6 additions and 1 deletions

View File

@ -445,7 +445,12 @@ class TCPServer(BaseServer):
def close_request(self, request):
"""Called to clean up an individual request."""
request.shutdown(socket.SHUT_WR)
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
request.close()