mirror of
https://github.com/moparisthebest/xmpp-ircd
synced 2024-08-13 15:53:51 -04:00
7. On OS X Python 2.6, service.shutdown() fails and blocks telepaatti
Added error handling to socket.shutdown calls and eventially also close the socket.
This commit is contained in:
parent
98906fcf89
commit
eae8112f14
@ -941,7 +941,11 @@ class ClientThread(Thread):
|
|||||||
if not jt.connected:
|
if not jt.connected:
|
||||||
self.ircCommandNOTICE('XMPP server disconnected, shutting down Telepaatti.')
|
self.ircCommandNOTICE('XMPP server disconnected, shutting down Telepaatti.')
|
||||||
jt.connected = False
|
jt.connected = False
|
||||||
|
try:
|
||||||
self.socket.shutdown(socket.SHUT_RDWR)
|
self.socket.shutdown(socket.SHUT_RDWR)
|
||||||
|
except socket.error:
|
||||||
|
self.printError('Socket shutdown client')
|
||||||
|
self.socket.close()
|
||||||
|
|
||||||
def messageHandlerError(self, sess, mess):
|
def messageHandlerError(self, sess, mess):
|
||||||
"""Handle incoming error messages from XMPP
|
"""Handle incoming error messages from XMPP
|
||||||
@ -1738,7 +1742,11 @@ def main():
|
|||||||
(clientsocket, address ) = service.accept()
|
(clientsocket, address ) = service.accept()
|
||||||
ct = ClientThread(clientsocket, port, user, password, debug, nickname)
|
ct = ClientThread(clientsocket, port, user, password, debug, nickname)
|
||||||
ct.start()
|
ct.start()
|
||||||
|
try:
|
||||||
service.shutdown(socket.SHUT_RDWR)
|
service.shutdown(socket.SHUT_RDWR)
|
||||||
|
except socket.error:
|
||||||
|
self.printError('Socket shutdown main')
|
||||||
|
service.close()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user