def disconnect(self):
"""Disconnect a connected client from the broker."""
- if self._sock == None and self._ssl == None:
- return MQTT_ERR_NO_CONN
-
self._state_mutex.acquire()
self._state = mqtt_cs_disconnecting
self._state_mutex.release()
+ if self._sock == None and self._ssl == None:
+ return MQTT_ERR_NO_CONN
+
return self._send_disconnect()
def subscribe(self, topic, qos=0):
else:
self._state_mutex.release()
time.sleep(1)
+
+ self._state_mutex.acquire()
+ if self._state == mosq_cs_disconnecting:
+ run = False
+ self._state_mutex.release()
+ else:
+ self._state_mutex.release()
+ self.reconnect()
+
self.reconnect()
return rc