change the order of mosquitto api calls
authorHansol Lee <hansolu.lee@samsung.com>
Wed, 19 Apr 2023 03:46:31 +0000 (12:46 +0900)
committerHansol Lee <hansolu.lee@samsung.com>
Wed, 14 Jun 2023 11:45:51 +0000 (20:45 +0900)
if mosquitto_loop_start() is invoked after mosquitto_disconnect(), then
    mosquitto thread might be closed.
so I changed the order of mosquitto api calls

src/MosquittoMQ.cc

index 1419ce4..4a3b352 100644 (file)
@@ -134,15 +134,15 @@ void MosquittoMQ::Connect(const std::string &host, int port, const std::string &
         }
     }
 
-    ret = mosquitto_loop_start(handle);
+    ret = mosquitto_connect(handle, host.c_str(), port, keep_alive);
     if (ret != MOSQ_ERR_SUCCESS) {
-        ERR("mosquitto_loop_start() Fail(%s)", mosquitto_strerror(ret));
+        ERR("mosquitto_connect(%s, %d) Fail(%s)", host.c_str(), port, mosquitto_strerror(ret));
         throw AittException(AittException::MQTT_ERR);
     }
 
-    ret = mosquitto_connect(handle, host.c_str(), port, keep_alive);
+    ret = mosquitto_loop_start(handle);
     if (ret != MOSQ_ERR_SUCCESS) {
-        ERR("mosquitto_connect(%s, %d) Fail(%s)", host.c_str(), port, mosquitto_strerror(ret));
+        ERR("mosquitto_loop_start() Fail(%s)", mosquitto_strerror(ret));
         throw AittException(AittException::MQTT_ERR);
     }
 }