connect DB after service state is ready 67/208467/6 accepted/tizen/unified/20190626.040947 submit/tizen/20190625.100758 submit/tizen/20190626.014223
authorwn.jang <wn.jang@samsung.com>
Tue, 25 Jun 2019 01:17:07 +0000 (10:17 +0900)
committerwn.jang <wn.jang@samsung.com>
Tue, 25 Jun 2019 09:16:15 +0000 (18:16 +0900)
- to avoid concurrency issue.
- DB will be created on only vcd service process.

Change-Id: I03caa096b651f4c61f626a6317bbd97f9aff0070
Signed-off-by: wn.jang <wn.jang@samsung.com>
client/vc_widget.c
server/vcd_server.c

index 21bb79e..a40506c 100644 (file)
@@ -376,6 +376,7 @@ static Eina_Bool __vc_widget_connect_daemon(void *data)
        }
 
        /* Initialize DB */
+       int ret = -1;
        if (1 == vc_widget_client_get_count()) {
                ret = vc_db_initialize();
                if (0 != ret) {
@@ -385,7 +386,6 @@ static Eina_Bool __vc_widget_connect_daemon(void *data)
        }
 
        /* request initialization */
-       int ret = -1;
        int service_state = 0;
        ret = vc_widget_dbus_request_initialize(getpid(), &service_state, &g_daemon_pid);
 
@@ -406,9 +406,11 @@ static Eina_Bool __vc_widget_connect_daemon(void *data)
                vc_widget_client_set_error(vc_w, VC_ERROR_TIMED_OUT);
                ecore_main_loop_thread_safe_call_async(__vc_widget_notify_error, vc_w);
 
-               ret = vc_db_finalize();
-               if (0 != ret) {
-                       SLOG(LOG_ERROR, TAG_VCW, "[ERROR] Fail to finalize DB : %d", ret);
+               if (1 == vc_widget_client_get_count()) {
+                       ret = vc_db_finalize();
+                       if (0 != ret) {
+                               SLOG(LOG_ERROR, TAG_VCW, "[ERROR] Fail to finalize DB : %d", ret);
+                       }
                }
 
                SLOG(LOG_DEBUG, TAG_VCW, "@@@");
index 59a2986..c640d82 100644 (file)
@@ -1324,7 +1324,7 @@ bool vcd_finalize()
 
        vcd_client_manager_unset_appid();
 
-       ret = vcd_config_finalize();
+       int ret = vcd_config_finalize();
        if (0 != ret) {
                SLOG(LOG_ERROR, TAG_VCD, "[Server WARNING] Fail to finalize config.");
        }