Add setting handle check to prevent duplicated deinitilize request 96/117996/1
authorKwangyoun Kim <ky85.kim@samsung.com>
Wed, 8 Mar 2017 02:27:00 +0000 (11:27 +0900)
committerSuyeon Hwang <stom.hwang@samsung.com>
Wed, 8 Mar 2017 08:23:40 +0000 (00:23 -0800)
Change-Id: I9d90a00a47cd055e52e361078a908a79a9ea5fd2
(cherry picked from commit 39817d7e7b505f4dbe3faec8e72c58daabebee95)

client/vc_setting.c

index 28de295..3f35bb3 100644 (file)
@@ -96,6 +96,7 @@ int vc_setting_initialize(void)
                SLOG(LOG_ERROR, TAG_VCS, "[ERROR] Fail to initialize config manager");
                SLOG(LOG_DEBUG, TAG_VCS, "=====");
                SLOG(LOG_DEBUG, TAG_VCS, " ");
+               vc_config_mgr_finalize(getpid() + VC_SETTING_CONFIG_HANDLE);
                return VC_ERROR_OPERATION_FAILED;
        }
 
@@ -113,6 +114,13 @@ int vc_setting_deinitialize()
 {
        SLOG(LOG_DEBUG, TAG_VCS, "===== Deinitialize VC Setting");
 
+       if (VC_SETTING_STATE_READY != g_state) {
+               SLOG(LOG_WARN, TAG_VCS, "[WARNING] VC Setting is not initialized");
+               SLOG(LOG_DEBUG, TAG_VCS, "=====");
+               SLOG(LOG_DEBUG, TAG_VCS, " ");
+               return VC_ERROR_INVALID_STATE;
+       }
+
        vc_config_mgr_unset_lang_cb(getpid() + VC_SETTING_CONFIG_HANDLE);
        vc_config_mgr_finalize(getpid() + VC_SETTING_CONFIG_HANDLE);