EXPORT_API void alarmmgr_fini()
{
SECURE_LOGD("Enter");
+ bool is_user = false;
+
+ if (getuid() >= REGULAR_UID_MIN)
+ is_user = true;
+
if (introspection_data) {
g_dbus_node_info_unref(introspection_data);
introspection_data = NULL;
}
- if (alarm_context.connection != NULL && registration_id != 0) {
- g_dbus_connection_unregister_object(alarm_context.connection, registration_id);
+ if (registration_id != 0) {
+ g_dbus_connection_unregister_object(is_user ?
+ alarm_context.session_conn : alarm_context.connection,
+ registration_id);
registration_id = 0;
}
alarm_context.connection = NULL;
}
- if (alarm_context.connection) {
+ if (alarm_context.session_conn) {
g_object_unref(alarm_context.session_conn);
alarm_context.session_conn = NULL;
}