From ddd67e9dc9bf94e706d267b85fab9fb6de5a682f Mon Sep 17 00:00:00 2001 From: Davide Pianca <davidepianca98@gmail.com> Date: Thu, 8 Aug 2024 10:29:26 +0200 Subject: [PATCH] Fix onDisconnect client callback call on broker termination --- kmqtt-client/src/commonMain/kotlin/MQTTClient.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt b/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt index 934ada0..40cdeeb 100644 --- a/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt +++ b/kmqtt-client/src/commonMain/kotlin/MQTTClient.kt @@ -329,7 +329,13 @@ public class MQTTClient( } } - val data = socket?.read() + val data = try { + socket?.read() + } catch (e: Exception) { + close() + onDisconnected(null) + throw e + } if (data != null) { try { @@ -341,7 +347,6 @@ public class MQTTClient( } } catch (e: MQTTException) { lastException = e - e.printStackTrace() disconnect(e.reasonCode) close() onDisconnected(null) -- GitLab