Merge pull request #33860 from cachedout/issue_33843

Allow socket closes when the socket is disconnected
This commit is contained in:
Mike Place 2016-06-08 11:26:16 -07:00
commit 669aa92d59

View file

@ -17,6 +17,7 @@ import weakref
import urlparse # TODO: remove
import time
import traceback
import errno
# Import Salt Libs
import salt.crypt
@ -432,7 +433,15 @@ class TCPReqServerChannel(salt.transport.mixins.auth.AESReqServerMixin, salt.tra
def close(self):
if self._socket is not None:
self._socket.shutdown(socket.SHUT_RDWR)
try:
self._socket.shutdown(socket.SHUT_RDWR)
except socket.error as exc:
if exc.errno == errno.ENOTCONN:
# We may try to shutdown a socket which is already disconnected.
# Ignore this condition and continue.
pass
else:
raise exc
self._socket.close()
self._socket = None