From 0e783efda18a86c7dae5e34dd3c27fcdc60c9a06 Mon Sep 17 00:00:00 2001 From: zhuofan0129 <861080528@qq.com> Date: Fri, 29 Aug 2025 14:04:57 +0800 Subject: [PATCH] feat: add promise timer Signed-off-by: zhuofan0129 <861080528@qq.com> --- .../inner_api/src/standard/device_security_info.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/interfaces/inner_api/src/standard/device_security_info.cpp b/interfaces/inner_api/src/standard/device_security_info.cpp index d3874e9..7e80c05 100644 --- a/interfaces/inner_api/src/standard/device_security_info.cpp +++ b/interfaces/inner_api/src/standard/device_security_info.cpp @@ -25,6 +25,8 @@ #include "device_security_level_loader.h" #include "device_security_level_proxy.h" +constexpr uint32_t MAX_TIMEOUT = 50; + using namespace OHOS::HiviewDFX; using namespace OHOS::Security::DeviceSecurityLevel; @@ -86,7 +88,15 @@ static int32_t RequestDeviceSecurityInfoImpl(const DeviceIdentify *identify, con HILOG_ERROR(LOG_CORE, "RequestDeviceSecurityInfoImpl RequestDeviceSecurityLevel error."); return result; } - *info = promise.get_future().get(); + + std::future future = promise.get_future(); + if (future.wait_for(std::chrono::seconds(MAX_TIMEOUT)) == std::future_status::timeout) { + HILOG_ERROR(LOG_CORE, "RequestDeviceSecurityInfoImpl timeout error."); + *info = nullptr; + return ERR_TIMEOUT; + } + + *info = future.get(); return SUCCESS; } -- Gitee