Fix bug in alarmmgr_fini 12/107712/3 accepted/tizen_3.0.m2_mobile accepted/tizen_3.0.m2_tv accepted/tizen_3.0.m2_wearable tizen_3.0.m2 accepted/tizen/3.0.m2/mobile/20170104.122121 accepted/tizen/3.0.m2/tv/20170104.122632 accepted/tizen/3.0.m2/wearable/20170104.123000 accepted/tizen/3.0/common/20161230.054918 accepted/tizen/3.0/ivi/20161230.010842 accepted/tizen/3.0/mobile/20161230.010747 accepted/tizen/3.0/tv/20161230.010804 accepted/tizen/3.0/wearable/20161230.010822 submit/tizen_3.0.m2/20170104.093749 submit/tizen_3.0/20161229.103556
authorJiwoong Im <jiwoong.im@samsung.com>
Thu, 29 Dec 2016 09:36:25 +0000 (18:36 +0900)
committerJiwoong Im <jiwoong.im@samsung.com>
Thu, 29 Dec 2016 09:57:12 +0000 (18:57 +0900)
- Some finalize step for session bus connection is missing.

Change-Id: Iaf033059e35efcdedadab05bb8e305825086b0c1
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
src/alarm-lib.c

index f721c8a..01e7325 100644 (file)
@@ -596,13 +596,20 @@ error:
 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;
        }
 
@@ -616,7 +623,7 @@ EXPORT_API void alarmmgr_fini()
                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;
        }