diff --git a/mqtt-plugin/src/Service.cpp b/mqtt-plugin/src/Service.cpp index 63d035a..5fca2bf 100644 --- a/mqtt-plugin/src/Service.cpp +++ b/mqtt-plugin/src/Service.cpp @@ -39,9 +39,12 @@ void Service::disconnect() std::lock_guard lock(m_mtx); if (m_client) { - m_client->disconnect(100)->wait(); - m_client->disable_callbacks(); - m_client.reset(); + if (m_client->is_connected()) + { + m_client->disconnect(100)->wait(); + m_client->disable_callbacks(); + m_client.reset(); + } } }