From c6c7f237b74994d6373c1d1049f1947962e073ae Mon Sep 17 00:00:00 2001 From: Junghyun Yeon Date: Tue, 6 Jul 2021 15:56:39 +0900 Subject: [PATCH] Store global uid as static variable Change-Id: I7b7fdaf6072f2b9af82aa3f491de50b6fc8a92a6 Signed-off-by: Junghyun Yeon --- src/server/database/abstract_db_handler.cc | 12 +++++++++--- src/server/database/db_handle_provider.cc | 9 +++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) 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; } -- 2.7.4