Merge branch 'tizen' into tizen_5.5 72/245672/1
authorYoungHun Kim <yh8004.kim@samsung.com>
Wed, 14 Oct 2020 05:37:31 +0000 (14:37 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Wed, 14 Oct 2020 05:37:40 +0000 (14:37 +0900)
Change-Id: I19d6c2c8fbe18c1406e626329221978553d3e5dc

packaging/mm-resource-manager.spec
src/daemon/mm_resource_manager_daemon.c
src/daemon/mm_resource_manager_daemon_priv.c
src/lib/mm_resource_manager_priv.c

index 2959c8a..e54923b 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mm-resource-manager
 Summary:    A Multimedia Resource Manager API
-Version:    0.2.37
+Version:    0.2.38
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index bff4945..1177c11 100644 (file)
@@ -47,12 +47,6 @@ static void daemon_loop(void);
 static gboolean remove_pid_file(void);
 static gboolean remove_ready_file(void);
 static gboolean remove_daemon_setup_file(void);
-static int set_signal_handlers(void);
-static void terminate_handler(int signum);
-static void reload_conf_handler(int signum);
-static void quit_main_loop(void);
-
-
 
 static gboolean fork_wait(void)
 {
@@ -170,57 +164,11 @@ static gboolean remove_daemon_setup_file(void)
        return remove_pid_file() && remove_ready_file();
 }
 
-static int set_signal_handlers(void)
-{
-       struct sigaction sa_term;
-       struct sigaction sa_reload_conf;
-       struct sigaction sa_ignore;
-
-       sa_term.sa_handler = terminate_handler;
-       sigemptyset(&sa_term.sa_mask);
-       sa_term.sa_flags = SA_RESETHAND;
-
-       sa_reload_conf.sa_handler = reload_conf_handler;
-       sigemptyset(&sa_reload_conf.sa_mask);
-       sa_reload_conf.sa_flags = 0;
-
-       sa_ignore.sa_handler = SIG_IGN;
-       sigemptyset(&sa_ignore.sa_mask);
-       sa_ignore.sa_flags = 0;
-
-       return sigaction(SIGTERM, &sa_term, NULL) != -1 &&
-                       sigaction(SIGINT, &sa_ignore, NULL) != -1 &&
-                       sigaction(SIGQUIT, &sa_ignore, NULL) != -1 &&
-                       sigaction(SIGHUP, &sa_reload_conf, NULL) != -1;
-}
-
-static void terminate_handler(int signum)
-{
-       MM_RM_DEBUG("SIGTERM is received");
-       quit_main_loop();
-}
-
-static void reload_conf_handler(int signum)
-{
-       MM_RM_DEBUG("SIGHUP is received");
-       restart = TRUE;
-       quit_main_loop();
-}
-
-static void quit_main_loop(void)
-{
-       if (main_loop) {
-               _mmrm_dmn_status_callback(MM_RESOURCE_MANAGER_STATUS_DISCONNECTED);
-               g_main_loop_quit(main_loop);
-       }
-}
-
 int main(int argc, char *argv[])
 {
        switch (daemonize(NULL)) {
 
        case MM_RESOURCE_MANAGER_DAEMON_NOW:
-               MM_RM_RETVM_IF(!set_signal_handlers(), EXIT_FAILURE, "Daemon cannot set signal handlers");
 
 #ifdef RM_GCOV_TEST
                setenv("GCOV_PREFIX", "/tmp", 1);
index 1a55f29..b157ad7 100644 (file)
@@ -34,7 +34,7 @@
 #define MM_RESOURCE_MANAGER_RESERVED_PART_ARRAY_SIZE 4 /* preallocated size */
 #define MM_RESOURCE_MANAGER_RESERVED_CALLBACK_ARRAY_SIZE 32 /* preallocated size */
 #define MM_RESOURCE_MANGER_NOT_FOUND -1
-#define RELEASE_CB_SYNC_TIMEOUT 300 /* milliseconds */
+#define RELEASE_CB_SYNC_TIMEOUT 500 /* milliseconds */
 
 typedef enum {
        MM_RESOURCE_MANAGER_RES_STATE_FOR_ACQUIRE,
@@ -796,7 +796,10 @@ static gboolean __wait_for_release_cb_sync(mm_resource_manager_id id)
        mm_resource_manager_id recv_id;
        ssize_t read_size;
 
+       MM_RM_DEBUG("Enter");
        sync.fd = open(RELEASE_CB_SYNC_PATH, O_RDONLY | O_NONBLOCK);
+       MM_RM_DEBUG("[%d] opened %s", sync.fd, RELEASE_CB_SYNC_PATH);
+
        MM_RM_RETVM_IF(sync.fd == -1, FALSE, "Sync FIFO cannot be opened");
 
        if (!__poll(sync, id))
@@ -815,6 +818,7 @@ static gboolean __wait_for_release_cb_sync(mm_resource_manager_id id)
 
 out:
        close(sync.fd);
+       MM_RM_DEBUG("[%d] closed", sync.fd);
 
        return ret;
 }
index 37fd7d5..07ee502 100644 (file)
@@ -187,6 +187,9 @@ int _mm_resource_manager_create(mm_resource_manager_app_class_e app_class,
        g_mutex_init(&handle->resources_lock);
 
        *rm = (mm_resource_manager_h *) handle;
+
+       MM_RM_INFO("adding handle %p", handle);
+
        __mm_resource_handles_lock();
        g_ptr_array_add(handles, handle);
 
@@ -417,6 +420,8 @@ int _mm_resource_manager_get_resource_info(mm_resource_manager_h rm,
        mm_resource_manager_res_p resource = (mm_resource_manager_res_p) resource_h;
        int idx;
 
+       MM_RM_INFO("Enter %p", rm);
+
        __mm_resource_handles_lock();
        MM_RESOURCE_MANAGER_CHECK(handle);
        __mm_resources_lock(handle);
@@ -468,6 +473,8 @@ int _mm_resource_manager_set_status_cb(mm_resource_manager_h rm, mm_resource_man
 {
        mm_resource_manager_s *handle = MM_RESOURCE_MANAGER(rm);
 
+       MM_RM_INFO("Enter %p", rm);
+
        __mm_resource_handles_lock();
        MM_RESOURCE_MANAGER_CHECK(handle);
        __mm_resources_lock(handle);
@@ -600,12 +607,14 @@ static void __mm_resource_manager_status_callback(mm_resource_manager_s *handle,
 
 static void __mm_resource_handles_lock(void)
 {
+       LOGD(">>> handles lock");
        g_mutex_lock(&handles_lock);
 }
 
 static void __mm_resource_handles_unlock(void)
 {
        g_mutex_unlock(&handles_lock);
+       LOGD("<<< handles unlock");
 }
 
 static void __mm_resources_lock(mm_resource_manager_s *h)
@@ -725,7 +734,10 @@ static void __send_release_cb_sync(mm_resource_manager_id id)
 {
        int sync_fd;
 
+       MM_RM_DEBUG("Enter");
        sync_fd = open(RELEASE_CB_SYNC_PATH, O_WRONLY);
+       MM_RM_DEBUG("[%d] opened %s", sync_fd, RELEASE_CB_SYNC_PATH);
+
        MM_RM_RETM_IF(sync_fd == -1, "Sync FIFO cannot be opened [errno %d]", errno);
 
        if (write(sync_fd, &id, sizeof(id)) == sizeof(id))
@@ -734,6 +746,7 @@ static void __send_release_cb_sync(mm_resource_manager_id id)
                MM_RM_ERROR("[SYNC] message cannot be sent RM #%"PRIu64, _mm_rm_hash64(id));
 
        close(sync_fd);
+       MM_RM_DEBUG("[%d] closed", sync_fd);
 }
 
 static void __init_lib()