From 441cc6c9cdaf11ef0e65bad3133b6ae971f6888d Mon Sep 17 00:00:00 2001 From: ecdsa Date: Sun, 10 Mar 2013 16:24:52 +0100 Subject: [PATCH] fix --- lib/interface.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/interface.py b/lib/interface.py index 59f205a6..eeca9a4a 100644 --- a/lib/interface.py +++ b/lib/interface.py @@ -470,6 +470,9 @@ class Interface(threading.Thread): if message not in self.subscriptions[channel]: self.subscriptions[channel].append(message) + if not self.is_connected: + return + if self.protocol in 'st': with self.lock: out = self.send_tcp(messages, channel) @@ -516,14 +519,14 @@ class Interface(threading.Thread): print "changing server:", server, proxy self.server = server self.proxy = proxy - if self.protocol in 'st' and self.s: + if self.is_connected and self.protocol in 'st' and self.s: self.s.shutdown(socket.SHUT_RDWR) self.s.close() self.is_connected = False # this exits the polling loop self.trigger_callback('disconnecting') # for actively disconnecting def stop(self): - if self.protocol in 'st' and self.s: + if self.is_connected and self.protocol in 'st' and self.s: self.s.shutdown(socket.SHUT_RDWR) self.s.close()