From 23814463289c825ee6bbb0a80070983d481e6b11 Mon Sep 17 00:00:00 2001 From: YoungHun Kim Date: Mon, 26 Aug 2024 19:27:09 +0900 Subject: [PATCH] fixup! Fix the svace and coverity issue Change-Id: I8ab2deb0c11fc149324c5a9311563bf903b08143 --- include_internal/CMessageHandler.h | 2 ++ packaging/rscmgr-service.spec | 2 +- src/CMessageHandler.cpp | 21 ++++++++------------- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/include_internal/CMessageHandler.h b/include_internal/CMessageHandler.h index 62d18b5..5b5ce87 100644 --- a/include_internal/CMessageHandler.h +++ b/include_internal/CMessageHandler.h @@ -114,6 +114,8 @@ private: CHandleManager *m_handle_mgr {}; CQueryHandler *m_query_h {}; CDbusHandler *m_dbus_h {}; + GThread *_msgQThread {}; + GThread *_msgThread {}; typedef void (CMessageHandler::*msg_handler)(rms_msg_request *request, rms_msg_response *response); static msg_handler handlers[RMS_REQUEST_MAX]; diff --git a/packaging/rscmgr-service.spec b/packaging/rscmgr-service.spec index 8074556..6dcebb9 100644 --- a/packaging/rscmgr-service.spec +++ b/packaging/rscmgr-service.spec @@ -1,7 +1,7 @@ Name: rscmgr-service Summary: Daemon for resource manager Version: 0.1 -Release: 6 +Release: 7 Group: Multimedia/Libraries License: Apache-2.0 Source0: %{name}-%{version}.tar.gz diff --git a/src/CMessageHandler.cpp b/src/CMessageHandler.cpp index 430199a..cf83114 100644 --- a/src/CMessageHandler.cpp +++ b/src/CMessageHandler.cpp @@ -69,6 +69,10 @@ CMessageHandler::CMessageHandler(CResourceManager *rsc_mgr) CMessageHandler::~CMessageHandler(void) { + if (_msgQThread) + g_thread_join(_msgQThread); + if (_msgThread) + g_thread_join(_msgThread); if (m_handle_mgr) delete m_handle_mgr; if (m_query_h) @@ -81,6 +85,8 @@ CMessageHandler::~CMessageHandler(void) delete msgq_tx; if (msgq_rx) delete msgq_rx; + if (m_dbus_h) + delete m_dbus_h; } void CMessageHandler::InitDbusHandlers(void) @@ -135,14 +141,14 @@ void CMessageHandler::m_ConstructRequestedDevice(rms_msg_request *request, rms_r int CMessageHandler::Run(void) { - GThread *_msgQThread = g_thread_new("rms_msgq_thread", msgQThread, this); + _msgQThread = g_thread_new("rms_msgq_thread", msgQThread, this); if (!_msgQThread) { SERVER_ERR("failed to create rms_msgq thread"); assert(0); return RMS_ERROR; } - GThread *_msgThread = g_thread_new("rms_msg_thread", msgThread, this); + _msgThread = g_thread_new("rms_msg_thread", msgThread, this); if (!_msgThread) { SERVER_ERR("event loop thread create failed"); assert(0); @@ -151,17 +157,6 @@ int CMessageHandler::Run(void) m_dbus_h = new CDbusHandler(async_queue); - // g_thread_join to release resources - gpointer _msgQResult = g_thread_join(_msgQThread); - if (_msgQResult) - g_free(_msgQResult); - - gpointer _msgResult = g_thread_join(_msgThread); - if (_msgResult) - g_free(_msgResult); - - delete m_dbus_h; - SERVER_INFO("RMS_OK"); return RMS_OK; -- 2.34.1