fixup! Fix the svace and coverity issue 64/316664/6 accepted/tizen/unified/20240828.164004 accepted/tizen/unified/dev/20240829.043833 accepted/tizen/unified/x/20240829.020340
authorYoungHun Kim <yh8004.kim@samsung.com>
Mon, 26 Aug 2024 10:27:09 +0000 (19:27 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Tue, 27 Aug 2024 10:50:49 +0000 (19:50 +0900)
Change-Id: I8ab2deb0c11fc149324c5a9311563bf903b08143

include_internal/CMessageHandler.h
packaging/rscmgr-service.spec
src/CMessageHandler.cpp

index 62d18b5cde0ad18997c58d958398a37bc86192ea..5b5ce87252fdcbd4d392614b720268c8c7c27c6c 100644 (file)
@@ -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];
index 8074556eab91aa03a47830ebfbe14139bb20b8db..6dcebb9fb89bb7bea0b94740840df04b51fccbcb 100644 (file)
@@ -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
index 430199a4c8aa06884c6021d8b220b5ba9ffe8dfd..cf831146cfe608bc768565eefa9ef7384d83fd33 100644 (file)
@@ -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;