From 768123b76fe2225e91f36976138bf6ab3a64e815 Mon Sep 17 00:00:00 2001 From: tomoaki Date: Tue, 11 Feb 2020 16:21:46 +0900 Subject: [PATCH] Bugfix of #171 Signed-off-by: tomoaki --- MQTTSNGateway/src/MQTTSNGWBrokerRecvTask.cpp | 2 +- MQTTSNGateway/src/MQTTSNGWPacketHandleTask.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/MQTTSNGateway/src/MQTTSNGWBrokerRecvTask.cpp b/MQTTSNGateway/src/MQTTSNGWBrokerRecvTask.cpp index 0f180c9..87aace9 100644 --- a/MQTTSNGateway/src/MQTTSNGWBrokerRecvTask.cpp +++ b/MQTTSNGateway/src/MQTTSNGWBrokerRecvTask.cpp @@ -161,7 +161,7 @@ void BrokerRecvTask::run(void) delete packet; - if ( (rc == -1 || rc == -2) && client->isActive() ) + if ( (rc == -1 || rc == -2) && ( client->isActive() || client->isSleep() || client->isAwake() )) { /* disconnect the client */ packet = new MQTTGWPacket(); diff --git a/MQTTSNGateway/src/MQTTSNGWPacketHandleTask.cpp b/MQTTSNGateway/src/MQTTSNGWPacketHandleTask.cpp index a10749f..bbe16ff 100644 --- a/MQTTSNGateway/src/MQTTSNGWPacketHandleTask.cpp +++ b/MQTTSNGateway/src/MQTTSNGWPacketHandleTask.cpp @@ -359,6 +359,9 @@ void PacketHandleTask::transparentPacketHandler(Client*client, MQTTGWPacket* pac case UNSUBACK: _mqttSubscribe->handleUnsuback(client, packet); break; + case DISCONNECT: + client->disconnected(); // Just change Client's status to "Disconnected" + break; default: break; }