Handle unknown operation of package event
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 10 Mar 2021 07:19:51 +0000 (16:19 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Wed, 10 Mar 2021 08:03:28 +0000 (17:03 +0900)
If the package event occurs before starting AMD, AMD doesn't know what
the operation is. When getting ok value with unknown operation,
AMD will uninstall and install the package.

Change-Id: I212b13f2ee77d4a3570ea77cda41278597b201a5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/lib/amd_appinfo.c

index ff75e16b580b634f5254bed10c2419e8ed1bf583..f3eec56d6eadab3da09f73188fb56b39f239bdcb 100644 (file)
@@ -1603,8 +1603,12 @@ static int __package_event_cb(uid_t target_uid, int req_id,
        if (!strcasecmp(key, "end")) {
                _W("[__PKGMGR__] Package(%s) event(%s) - end", pkgid, val);
                op = g_hash_table_lookup(pkg_pending, pkgid);
-               if (op == NULL)
+               if (op == NULL) {
+                       _W("Unknown operation");
+                       __delete_on_event(&info);
+                       __insert_on_event(&info);
                        return 0;
+               }
 
                if (!strcasecmp(op, "uninstall")) {
                        ret = pkgmgrinfo_pkginfo_get_usr_disabled_pkginfo(