From: Roger Light Date: Sat, 22 Jun 2013 21:10:30 +0000 (+0100) Subject: Use loop_forever() in _thread_main(). X-Git-Tag: v0.9~66 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=5df1df30aa8ed4e86a86a511a4ddde0d5fb1db3e;p=packages%2Fp%2Fpaho-mqtt.git Use loop_forever() in _thread_main(). --- diff --git a/src/paho/mqtt/client.py b/src/paho/mqtt/client.py index be09c5a..564d111 100755 --- a/src/paho/mqtt/client.py +++ b/src/paho/mqtt/client.py @@ -983,10 +983,16 @@ class Client: rc = MQTT_ERR_SUCCESS while rc == MQTT_ERR_SUCCESS: rc = self.loop(timeout, max_packets) + if self._thread_terminate == True: + rc = 1 + run = False + self._state_mutex_acquire() if self._state == mqtt_cs_disconnecting: run = False + self._state_mutex.release() else: + self._state_mutex.release() time.sleep(1) self.reconnect() return rc @@ -1742,20 +1748,5 @@ class Client: else: self._state_mutex.release() - while run: - rc = MQTT_ERR_SUCCESS - while rc == MQTT_ERR_SUCCESS: - rc = self.loop() - if self._thread_terminate: - rc = 1 - run = False - - self._state_mutex.acquire() - if self._state == mqtt_cs_disconnecting: - run = False - self._state_mutex.release() - else: - self._state_mutex.release() - time.sleep(1) - self.reconnect() + self.loop_forever()