From: Roger Light Date: Sat, 7 Dec 2013 22:55:00 +0000 (+0000) Subject: Close socket after sending DISCONNECT. X-Git-Tag: v0.9~48 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=cd6c2912f272707fc5b0a7d13670e42fbb50bc73;p=packages%2Fp%2Fpaho-mqtt.git Close socket after sending DISCONNECT. --- diff --git a/src/paho/mqtt/client.py b/src/paho/mqtt/client.py index 4e564fa..f3fd15d 100755 --- a/src/paho/mqtt/client.py +++ b/src/paho/mqtt/client.py @@ -1358,6 +1358,21 @@ class Client: self._callback_mutex.release() + if (packet.command & 0xF0) == DISCONNECT: + self._current_out_packet_mutex.release() + + self._msgtime_mutex.acquire() + self._last_msg_out = time.time() + self._msgtime_mutex.release() + + self._callback_mutex.acquire() + if self.on_disconnect: + self._in_callback = True + self.on_disconnect(self, self._userdata, 0) + self._in_callback = False + self._callback_mutex.release() + return MOSQ_ERR_SUCCESS + self._out_packet_mutex.acquire() if len(self._out_packet) > 0: self._current_out_packet = self._out_packet.pop(0)