Add client status cleanup method 55/237755/2
authorJeon Sang-Heon <sh95.jeon@samsung.com>
Fri, 3 Jul 2020 16:54:40 +0000 (16:54 +0000)
committerJeon Sang-Heon <sh95.jeon@samsung.com>
Mon, 6 Jul 2020 10:40:14 +0000 (10:40 +0000)
- For unexpected finish, add cleanup for vconf status callback at client status checker

Change-Id: I63cc64819ec32ee0c1315b8bfa417fe6f1d86a0f
Signed-off-by: Jeon Sang-Heon <sh95.jeon@samsung.com>
update-manager/client-status-checker.c
update-manager/main.c
update-manager/update-manager.h

index edb01b4c5c6c00eca7971504c8fb857941d8befb..3515e72e6091d8e1142a272ef6e975a4c02e3c13 100644 (file)
@@ -56,3 +56,16 @@ int client_status_checker_init()
 
        return 0;
 }
+
+int client_status_checker_fini()
+{
+       int ret = 0;
+
+       if (!client_status_checker_is_success()) {
+               ret = vconf_ignore_key_changed(VCONFKEY_SYSMAN_BOOTINGSTATUS, client_status_checker_callback);
+               if (ret != VCONF_OK)
+                       _W("vconf_ignore_key_changed for %s failed : %d", VCONFKEY_SYSMAN_BOOTINGSTATUS, ret);
+       }
+
+       return 0;
+}
index 67fb2bb1a938226bdd4d164ff6b3c00cd7b5e244..61b0ee0c7d09f9b68ceedbc9a028001cf1f4d0e0 100644 (file)
@@ -57,6 +57,10 @@ main_destroy:
        if (ret < 0)
                _W("Failed to finalize client info checker : %d", ret);
 
+       ret = client_status_checker_fini();
+       if (ret < 0)
+               _W("Failed to finalize client status checker : %d", ret);
+
        /* Fota */
        ret = fota_info_checker_fini();
        if (ret < 0)
index 3af2b9c1d6da5491c6d0288a4095a1c963e9632e..c0ac2a2db07416ac4edf4bc190bce417de909bc1 100644 (file)
@@ -78,6 +78,7 @@ int client_info_checker_fini(void);
 char *client_info_get_appid(void);
 
 int client_status_checker_init(void);
+int client_status_checker_fini(void);
 bool client_status_checker_is_success(void);
 
 int client_controller_process_launch_request(void);