From: Junghyun Yeon Date: Tue, 6 Jul 2021 06:56:39 +0000 (+0900) Subject: Store global uid as static variable X-Git-Tag: accepted/tizen/unified/20210727.124519~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6c7f237b74994d6373c1d1049f1947962e073ae;p=platform%2Fcore%2Fappfw%2Fpkgmgr-info.git Store global uid as static variable Change-Id: I7b7fdaf6072f2b9af82aa3f491de50b6fc8a92a6 Signed-off-by: Junghyun Yeon --- diff --git a/src/server/database/abstract_db_handler.cc b/src/server/database/abstract_db_handler.cc index e53cfcb..de4f11e 100644 --- a/src/server/database/abstract_db_handler.cc +++ b/src/server/database/abstract_db_handler.cc @@ -137,11 +137,17 @@ int __open_create_db(uid_t uid, const char* path, return ret; } +static uid_t globaluser_uid = -1; + uid_t ConvertUID(uid_t uid) { - if (uid < REGULAR_USER) - return tzplatform_getuid(TZ_SYS_GLOBALAPP_USER); - else + if (uid < REGULAR_USER) { + if (globaluser_uid == (uid_t)-1) + globaluser_uid = tzplatform_getuid(TZ_SYS_GLOBALAPP_USER); + + return globaluser_uid; + } else { return uid; + } } } // namespace diff --git a/src/server/database/db_handle_provider.cc b/src/server/database/db_handle_provider.cc index 1210b4a..d51a8e9 100644 --- a/src/server/database/db_handle_provider.cc +++ b/src/server/database/db_handle_provider.cc @@ -39,13 +39,18 @@ namespace { constexpr uid_t REGULAR_USER = 5000; +uid_t globaluser_uid = -1; + uid_t GetGlobalUID() { - return tzplatform_getuid(TZ_SYS_GLOBALAPP_USER); + if (globaluser_uid == (uid_t)-1) + globaluser_uid = tzplatform_getuid(TZ_SYS_GLOBALAPP_USER); + + return globaluser_uid; } uid_t ConvertUID(uid_t uid) { if (uid < REGULAR_USER) - return tzplatform_getuid(TZ_SYS_GLOBALAPP_USER); + return GetGlobalUID(); else return uid; }