return 0;
}
- char rule[128] = {0, };
- snprintf(rule, 128, "type='signal',interface='%s'", VC_CLIENT_SERVICE_INTERFACE);
+ char rule[256] = {0, };
+ snprintf(rule, 256, "type='signal',interface='%s'", VC_CLIENT_SERVICE_INTERFACE);
/* add a rule for which messages we want to see */
dbus_bus_add_match(g_conn_listener, rule, &err);
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);
+ dbus_connection_flush(g_conn_listener);
+
+ 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 ");
*service_state = tmp_service_state;
*daemon_pid = tmp_daemon_pid;
- /* add a rule for daemon error */
- char rule_err[256] = {0, };
- snprintf(rule_err, 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, &err);
- dbus_connection_flush(g_conn_listener);
-
- if (dbus_error_is_set(&err)) {
- SLOG(LOG_ERROR, TAG_VCC, "Match Error (%s)", err.message);
- dbus_error_free(&err);
- return VC_ERROR_OPERATION_FAILED;
- }
-
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);