Revert "Add signal handler for client process" 82/229282/2
authorYoungHun Kim <yh8004.kim@samsung.com>
Tue, 31 Mar 2020 02:44:21 +0000 (02:44 +0000)
committerYoungHun Kim <yh8004.kim@samsung.com>
Tue, 31 Mar 2020 02:53:19 +0000 (11:53 +0900)
This reverts commit 55e4f4f875c06ad5eefb25ce779c9baa0b305e1c.

Change-Id: I36be6de3f9d2ac8051d459f55cf05ab337363384

CMakeLists.txt
packaging/mm-resource-manager.spec
src/daemon/mm_resource_manager_daemon.c
src/daemon/mm_resource_manager_daemon_conf.c
src/daemon/mm_resource_manager_daemon_priv.c
src/lib/mm_resource_manager_priv.c
src/lib/mm_resource_manager_priv.h
src/lib/mm_resource_manager_signal.c [deleted file]

index 38bed2a..6176b9f 100644 (file)
@@ -10,7 +10,6 @@ PROJECT(${fw_name})
 SET(SRCS
        src/lib/mm_resource_manager.c
        src/lib/mm_resource_manager_priv.c
-       src/lib/mm_resource_manager_signal.c
        src/common/${fw_dbus_name}.c
        src/common/mm_resource_manager_utils.c
        )
index eb5e67b..49f6519 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mm-resource-manager
 Summary:    A Multimedia Resource Manager API
-Version:    0.2.22
+Version:    0.2.21
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 6877296..8153e07 100644 (file)
@@ -37,10 +37,6 @@ typedef enum {
 
 static GMainLoop *main_loop;
 static gboolean restart = FALSE;
-static struct sigaction rm_term_old_action;
-static struct sigaction rm_int_old_action;
-static struct sigaction rm_quit_old_action;
-static struct sigaction rm_hup_old_action;
 int notify_fd[2];
 
 
@@ -52,8 +48,8 @@ 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 signo);
-static void reload_conf_handler(int signo);
+static void terminate_handler(int signum);
+static void reload_conf_handler(int signum);
 static void quit_main_loop(void);
 
 
@@ -199,19 +195,19 @@ static int set_signal_handlers(void)
        sigemptyset(&sa_ignore.sa_mask);
        sa_ignore.sa_flags = 0;
 
-       return sigaction(SIGTERM, &sa_term, &rm_term_old_action) != -1 &&
-                       sigaction(SIGINT, &sa_ignore, &rm_int_old_action) != -1 &&
-                       sigaction(SIGQUIT, &sa_ignore, &rm_quit_old_action) != -1 &&
-                       sigaction(SIGHUP, &sa_reload_conf, &rm_hup_old_action) != -1;
+       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 signo)
+static void terminate_handler(int signum)
 {
        MM_RM_DEBUG("SIGTERM is received");
        quit_main_loop();
 }
 
-static void reload_conf_handler(int signo)
+static void reload_conf_handler(int signum)
 {
        MM_RM_DEBUG("SIGHUP is received");
        restart = TRUE;
index 3d46b8c..2a366fd 100644 (file)
@@ -85,10 +85,10 @@ gboolean mm_resource_manager_reload_conf(void)
 
        for (i = 0; i < MM_RESOURCE_MANAGER_RES_TYPE_MAX; i++) {
                mm_resource_manager_conf.max_instance[i] = iniparser_getint(ini,
-                               g_string_append(g_string_assign(param_name,
-                               MM_RESOURCE_MANAGER_INI_MAX_INSTANCE),
+                                g_string_append(g_string_assign(param_name,
+                                MM_RESOURCE_MANAGER_INI_MAX_INSTANCE),
                                _mm_resource_manager_get_res_str(i))->str,
-                               MM_RESOURCE_MANAGER_NO_RES);
+                                MM_RESOURCE_MANAGER_NO_RES);
        }
 
        g_string_free(param_name, TRUE);
index 5090d16..bac4961 100644 (file)
@@ -792,7 +792,8 @@ static gboolean __wait_for_release_cb_sync(mm_resource_manager_id id)
                         * the next sync.
                         */
                        sync.revents = 0;
-                       if (poll(&sync, 1, RELEASE_CB_SYNC_TIMEOUT * 1000) == 0 || (sync.revents & (POLLHUP | POLLERR)) == 0)
+                       if (poll(&sync, 1, RELEASE_CB_SYNC_TIMEOUT * 1000) == 0
+                               || (sync.revents & (POLLHUP | POLLERR)) == 0)
                                MM_RM_ERROR("The client didn't close the FIFO");
                } else {
                        MM_RM_ERROR("Read is failed (revents=%hd,read_size=%zd)", sync.revents, read_size);
index e9f2152..b28abe0 100644 (file)
@@ -75,8 +75,8 @@ typedef struct {
        GThread *dispatcher_thread;
 } mm_resource_manager_s;
 
-static void __init_lib(void) __attribute__((constructor));
-static void __deinit_lib(void) __attribute__((destructor));
+static void __init_lib() __attribute__((constructor));
+static void __deinit_lib() __attribute__((destructor));
 static int __check_resource(mm_resource_manager_s *rm,
                mm_resource_manager_res_type_e type,
                mm_resource_manager_res_volume volume);
@@ -579,13 +579,12 @@ static int __check_resource(mm_resource_manager_s *rm,
                mm_resource_manager_res_type_e type,
                mm_resource_manager_res_volume volume)
 {
-       mm_resource_manager_res_volume local_volume = rm->__max_resource_volumes[type];
+       mm_resource_manager_res_volume local_volume =
+                       rm->__max_resource_volumes[type];
        mm_resource_manager_res_p i_res;
        int i;
 
-       if (local_volume == MM_RESOURCE_MANAGER_NO_RES)
-               MM_RM_ERROR("[#%"PRIu64" type : %d volume : %d] resource (#%d) for the platform",
-                       _mm_rm_hash64(rm->id), type, volume, local_volume);
+       MM_RM_INFO("[#%"PRIu64" type : %d] resource (#%d) for the platform", _mm_rm_hash64(rm->id), type, local_volume);
 
        if (volume > 0) {
                for (i = 0; i < rm->resources->len; i++) {
@@ -594,7 +593,8 @@ static int __check_resource(mm_resource_manager_s *rm,
                                        (i_res->volume == MM_RESOURCE_MANAGER_RES_VOLUME_FULL ||
                                                (local_volume -= i_res->volume) < volume)) {
                                MM_RM_ERROR("Requested volume %d exceeds remaining local volume %d",
-                                               volume, i_res->volume == MM_RESOURCE_MANAGER_RES_VOLUME_FULL ?
+                                               volume,
+                                               i_res->volume == MM_RESOURCE_MANAGER_RES_VOLUME_FULL ?
                                                0 : local_volume);
                                return MM_RESOURCE_MANAGER_ERROR_NOT_ENOUGH;
                        }
@@ -688,15 +688,15 @@ static void __send_release_cb_sync(mm_resource_manager_id id)
        close(sync_fd);
 }
 
-static void __init_lib(void)
+static void __init_lib()
 {
        handles = g_ptr_array_sized_new(MM_RESOURCE_MANAGER_RESERVED_HANDLE_ARRAY_SIZE);
        MM_RM_RETM_IF(handles == NULL, "API lib cannot be initialized");
 
-       MM_RM_INFO("API lib is loaded [%d] Set signal handler", _mm_resource_manager_set_signal_handlers());
+       MM_RM_INFO("API lib is loaded");
 }
 
-static void __deinit_lib(void)
+static void __deinit_lib()
 {
        if (handles->len > 0) {
                MM_RM_DEBUG("Handles array [%d] is not empty. It will be cleaned now.", handles->len);
@@ -767,7 +767,10 @@ static int __dbus_init_conf(mm_resource_manager_s *handle)
                        MM_RESOURCE_MANAGER_ERROR_INVALID_OPERATION, "Variant data are empty");
 
        if (g_variant_iter_init(&volume_iter, max_volume) == MM_RESOURCE_MANAGER_RES_TYPE_MAX) {
-               for (i = 0; g_variant_iter_next(&volume_iter, "i", &handle->__max_resource_volumes[i]); i++);
+               for (i = 0; g_variant_iter_next(&volume_iter, "i", &handle->__max_resource_volumes[i]); i++) {
+                       if (handle->__max_resource_volumes[i] == MM_RESOURCE_MANAGER_NO_RES)
+                               MM_RM_INFO("Maybe occur the  error operation related dbus");
+               }
                g_variant_unref(max_volume);
                max_volume = NULL;
        } else {
index e19416e..10e3ac7 100644 (file)
@@ -55,6 +55,5 @@ int _mm_resource_manager_get_res_type_volume(mm_resource_manager_h rm,
                mm_resource_manager_res_volume *volume);
 int _mm_resource_manager_get_type_max_instance(mm_resource_manager_h rm,
                mm_resource_manager_res_type_e type, int *max_instance);
-int _mm_resource_manager_set_signal_handlers(void);
 
 #endif /* __MM_RESOURCE_MANAGER_PRIVATE__ */
diff --git a/src/lib/mm_resource_manager_signal.c b/src/lib/mm_resource_manager_signal.c
deleted file mode 100644 (file)
index 80128f7..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "common/mm_resource_manager_utils.h"
-#include "lib/mm_resource_manager_priv.h"
-
-static struct sigaction rm_segv_old_action;
-static struct sigaction rm_abrt_old_action;
-static struct sigaction rm_term_old_action;
-
-static void __rm_signal_handler(int signo)
-{
-       MM_RM_DEBUG("signal %d is received", signo);
-
-       switch (signo) {
-       case SIGSEGV:
-               sigaction(SIGSEGV, &rm_segv_old_action, NULL);
-               break;
-       case SIGABRT:
-               sigaction(SIGABRT, &rm_abrt_old_action, NULL);
-               break;
-       case SIGTERM:
-               sigaction(SIGTERM, &rm_term_old_action, NULL);
-               break;
-       default:
-               break;
-       }
-
-       raise(signo);
-}
-
-int _mm_resource_manager_set_signal_handlers(void)
-{
-       struct sigaction sa_exec;
-
-       sa_exec.sa_handler = __rm_signal_handler;
-       sigemptyset(&sa_exec.sa_mask);
-       sa_exec.sa_flags = SA_RESETHAND;
-
-       return sigaction(SIGSEGV, &sa_exec, &rm_segv_old_action) != -1
-                       && sigaction(SIGABRT, &sa_exec, &rm_abrt_old_action) != -1
-                       && sigaction(SIGTERM, &sa_exec, &rm_term_old_action) != -1;
-}
-