GDBusConnection *d_bus_get_connection(void)
{
- static GDBusConnection *g_dbus_conn;
+ static GDBusConnection *g_dbus_conn = NULL;
if (g_dbus_conn)
return g_dbus_conn;
g_dbus_conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, NULL);
g_assert(g_dbus_conn);
+ g_dbus_connection_set_exit_on_close(g_dbus_conn, FALSE);
return g_dbus_conn;
}
void d_bus_init(void)
{
- owner_id = g_bus_own_name(G_BUS_TYPE_SYSTEM, RESOURCED_BUS_NAME,
- G_BUS_NAME_OWNER_FLAGS_NONE, NULL, NULL, NULL, NULL, NULL);
+ owner_id = g_bus_own_name_on_connection(d_bus_get_connection(), RESOURCED_BUS_NAME,
+ G_BUS_NAME_OWNER_FLAGS_NONE, NULL, NULL, NULL, NULL);
if (owner_id == 0) {
_E("Failed to get gdbus own name");
}
proc_get_cmdline(sender_pid, appname, sizeof(appname));
_D("signal = %d sender pid = %d (%s)", sig, sender_pid, appname);
- _I("Do not quit resourced");
-// resourced_quit_mainloop();
+ resourced_quit_mainloop();
}
static void add_signal_handler(void)
sig_act.sa_flags = 0;
sig_act.sa_flags |= SA_SIGINFO;
sigaction(SIGTERM, &sig_act, NULL);
-// signal(SIGTERM, sig_term_handler);
signal(SIGINT, sig_int_handler);
}