Move 'dbus_bus_add_match' to vc_dbus_request_initialize 81/179881/2 submit/tizen/20180523.073046
authorsooyeon.kim <sooyeon.kim@samsung.com>
Wed, 23 May 2018 07:10:03 +0000 (16:10 +0900)
committersooyeon.kim <sooyeon.kim@samsung.com>
Wed, 23 May 2018 07:13:48 +0000 (16:13 +0900)
Change-Id: I8e446a807b7919f37878e70154661a35e961e23a
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
client/vc.c
client/vc_dbus.c

index b3c9b24..9a893f3 100644 (file)
@@ -1631,6 +1631,7 @@ int __vc_cb_error(int reason, int daemon_pid, char* msg)
 
        /* check state */
        if (state != VC_STATE_READY) {
+               SLOG(LOG_DEBUG, TAG_VCC, "[DEBUG] State is not READY");
                if (VC_ERROR_SERVICE_RESET != reason) {
                        SLOG(LOG_ERROR, TAG_VCC, "[ERROR] not connected client yet");
                        return -1;
index 51714b3..186d259 100644 (file)
@@ -170,8 +170,8 @@ static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handle
                                SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message);
                                dbus_error_free(&err);
                        }
-                       //FIXME
-                       //__vc_cb_error(VC_ERROR_SERVICE_RESET, -1, "Daemon Reset");
+
+                       __vc_cb_error(VC_ERROR_SERVICE_RESET, -1, "Daemon Reset");
                        SLOG(LOG_DEBUG, TAG_VCC, "@@@");
                } /* NameOwnerChanged */
 
@@ -286,17 +286,6 @@ int vc_dbus_open_connection()
                return VC_ERROR_OPERATION_FAILED;
        }
 
-       /* add a rule for daemon error */
-       snprintf(rule, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE);
-       dbus_bus_add_match(g_conn_listener, rule, &err);
-
-       if (dbus_error_is_set(&err)) {
-               SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message);
-               dbus_error_free(&err);
-               __vc_dbus_connection_free();
-               return VC_ERROR_OPERATION_FAILED;
-       }
-
        int fd = 0;
        if (1 != dbus_connection_get_unix_fd(g_conn_listener, &fd)) {
                SLOG(LOG_ERROR, TAG_VCC, "fail to get fd from dbus ");
@@ -496,6 +485,16 @@ int vc_dbus_request_initialize(int pid, int* mgr_pid, int* service_state, int* d
                        *service_state = tmp_service_state;
                        *daemon_pid = tmp_daemon_pid;
 
+                       /* add a rule for daemon error */
+                       char rule[256] = {0, };
+                       snprintf(rule, 256, "sender='org.freedesktop.DBus',path='/org/freedesktop/DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',type='signal',arg0='%s'", VC_SERVER_SERVICE_INTERFACE);
+                       dbus_bus_add_match(g_conn_listener, rule, &err);
+
+                       if (dbus_error_is_set(&err)) {
+                               SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message);
+                               dbus_error_free(&err);
+                       }
+
                        SLOG(LOG_DEBUG, TAG_VCC, "@@ vc initialize : result = %d mgr = %d service = %d daemon_pid = %d", result, *mgr_pid, *service_state, *daemon_pid);
                } else {
                        SLOG(LOG_ERROR, TAG_VCC, "@@ vc initialize : result = %d", result);