Resolve empty message of forking when glib debug enabled
[platform/core/multimedia/mm-resource-manager.git] / src / daemon / backend / murphy / mm_resource_manager_mloop.c
index 98deb9f..f697454 100644 (file)
  * limitations under the License.
  */
 
-#include <glib.h>
-#include <murphy/common/mainloop.h>
 #include <murphy/common/glib-glue.h>
-#include <murphy/plugins/resource-native/libmurphy-resource/resource-api.h>
-
 #include "lib/mm_resource_manager.h"
-#include "common/mm_resource_manager_utils.h"
+#include "daemon/mm_resource_manager_daemon_dbus.h"
 #include "daemon/backend/murphy/mm_resource_manager_mloop.h"
 
 static void __mm_resource_manager_mloop_state_callback(mrp_res_context_t *context,
@@ -107,6 +103,8 @@ int _mm_resource_manager_mloop_create(mm_resource_manager_mloop_s **mrp)
 
        *mrp = handle;
 
+       _mmrm_dmn_notify_fork_done();
+
        MM_RM_INFO("Successfully performed mloop create");
 
        return ret;
@@ -139,10 +137,12 @@ int _mm_resource_manager_mloop_destroy(mm_resource_manager_mloop_s *mrp)
                g_main_loop_unref(mrp->m_loop);
        }
 
-       MM_RM_DEBUG("Joining worker thread...");
-       g_thread_join(mrp->worker);
-       MM_RM_DEBUG("Joined to worker thread");
-       mrp->worker = NULL;
+       if (mrp->worker) {
+               MM_RM_DEBUG("Joining worker thread...");
+               g_thread_join(mrp->worker);
+               mrp->worker = NULL;
+               MM_RM_DEBUG("Joined to worker thread");
+       }
 
        g_mutex_unlock(&mrp->lock);