Author: junglecow Date: 2006-12-27 21:44:21 +0100 (Wed, 27 Dec 2006) New Revision: 7724
Modified: trunk/src/common/xmpp/transports_nb.py Log: Check if self._sock exists before trying to close it. Fixes #2839.
Modified: trunk/src/common/xmpp/transports_nb.py =================================================================== --- trunk/src/common/xmpp/transports_nb.py 2006-12-27 18:57:30 UTC (rev 7723) +++ trunk/src/common/xmpp/transports_nb.py 2006-12-27 20:44:21 UTC (rev 7724) @@ -366,13 +366,15 @@ self.remove_timeout() self._owner.disconnected() self.idlequeue.unplug_idle(self.fd) - try: - self._sock.shutdown(socket.SHUT_RDWR) - except socket.error, e: - if e[0] != errno.ENOTCONN: - log.error("Error shutting down socket for %s:", self.getName(), exc_info=True) - try: self._sock.close() - except: log.error("Error closing socket for %s:", self.getName(), exc_info=True) + sock = getattr(self, '_sock', None) + if sock: + try: + sock.shutdown(socket.SHUT_RDWR) + except socket.error, e: + if e[0] != errno.ENOTCONN: + log.error("Error shutting down socket for %s:", self.getName(), exc_info=True) + try: sock.close() + except: log.error("Error closing socket for %s:", self.getName(), exc_info=True) # socket descriptor cannot be (un)plugged anymore self.fd = -1 if self.on_disconnect: