Fix handling pending pkgs
[platform/core/appfw/pkgmgr-info.git] / src / server / database / pkg_set_db_handler.cc
index 9c8d0b9..639949f 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <vector>
 
+#include "cache_flag.hh"
 #include "db_handle_provider.hh"
 #include "utils/logging.hh"
 
@@ -72,9 +73,13 @@ int PkgSetDBHandler::Execute() {
   else
     LOG(ERROR) << "Unknown db write type";
 
-  if (ret != PM_PARSER_R_OK)
+  if (is_offline_ || ret != PMINFO_R_OK)
     return ret;
 
+  auto lock = CacheFlag::GetWriterLock();
+  if (CacheFlag::GetStatus() == CacheFlag::Status::PREPARED)
+    DBHandleProvider::GetInst(uid_).RegisterPendingPackageInfo(package_);
+
   return ret;
 }