diff --git a/src/main.cpp b/src/main.cpp index 8860aef..36c3393 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -9,16 +9,16 @@ std::atomic g_running(true); -void signalHandler(int signum) +void signalHandler(int) { g_running = false; - RTSPManager::stop(); + RTSPManager::stop(); // 停止 RTSP loop + MQTTClientWrapper::stop(); // 停止 MQTT loop } int main() { - signal(SIGINT, [](int) - { g_running = false; RTSPManager::stop(); }); + signal(SIGINT, signalHandler); signal(SIGPIPE, SIG_IGN); // 初始化日志文件 @@ -38,11 +38,8 @@ int main() // 先在主线程初始化 GStreamer RTSPManager::init(); - // 启动 RTSP server(loop 可在子线程) std::thread rtsp_thread([&]() { RTSPManager::start(g_app_config.cameras); }); - - // 启动 MQTT 客户端线程 std::thread mqtt_thread(mqtt_client_thread_func); // 等待退出信号