From a00a3910deca7b6aaa15d97a06db27ff00108e07 Mon Sep 17 00:00:00 2001 From: oh_ci Date: Mon, 4 Aug 2025 06:32:45 +0000 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E9=80=80=20'Pull=20Request=20!4043=20?= =?UTF-8?q?:=20get=20devicetype=20with=20atomic'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interfaces/innerkits/syspara/param_comm.c | 33 ----------------------- interfaces/innerkits/syspara/param_comm.h | 2 -- interfaces/innerkits/syspara/parameter.c | 5 ++-- 3 files changed, 2 insertions(+), 38 deletions(-) diff --git a/interfaces/innerkits/syspara/param_comm.c b/interfaces/innerkits/syspara/param_comm.c index 822eea3b7..017708a69 100644 --- a/interfaces/innerkits/syspara/param_comm.c +++ b/interfaces/innerkits/syspara/param_comm.c @@ -118,39 +118,6 @@ INIT_LOCAL_API const char *GetProperty(const char *key, const char **paramHolder return *paramHolder; } -INIT_LOCAL_API const char *GetPropertyAtomic(const char *key, const char **paramHolder) -{ - BEGET_CHECK(paramHolder != NULL, return NULL); - const char *_Atomic *atomicParam = (const char *_Atomic *)paramHolder; - const char *cached = atomic_load(atomicParam); - if (cached != NULL) { - return cached; - } - - uint32_t len = 0; - int ret = SystemGetParameter(key, NULL, &len); - if (ret == 0 && len > 0) { - char *res = (char *)calloc(1, len + 1); - BEGET_CHECK(res != NULL, return NULL); - - ret = SystemGetParameter(key, res, &len); - if (ret != 0) { - free(res); - return NULL; - } - - if (g_propertyGetProcessor != NULL) { - res = g_propertyGetProcessor(key, res); - } - - const char *expected = NULL; - if (!atomic_compare_exchange_strong(atomicParam, &expected, res)) { - free(res); - } - } - return atomic_load(atomicParam); -} - INIT_LOCAL_API PropertyValueProcessor SetPropertyGetProcessor(PropertyValueProcessor processor) { PropertyValueProcessor prev = g_propertyGetProcessor; diff --git a/interfaces/innerkits/syspara/param_comm.h b/interfaces/innerkits/syspara/param_comm.h index 6551f91dc..2a7b033bf 100755 --- a/interfaces/innerkits/syspara/param_comm.h +++ b/interfaces/innerkits/syspara/param_comm.h @@ -16,7 +16,6 @@ #ifndef INIT_PARAM_COMM_H #define INIT_PARAM_COMM_H #include -#include #include "beget_ext.h" #ifdef __cplusplus @@ -36,7 +35,6 @@ extern "C" { typedef char *(*PropertyValueProcessor)(const char *key, char *value); INIT_LOCAL_API const char *GetProperty(const char *key, const char **paramHolder); -INIT_LOCAL_API const char *GetPropertyAtomic(const char *key, const char **paramHolder); INIT_LOCAL_API PropertyValueProcessor SetPropertyGetProcessor(PropertyValueProcessor processor); INIT_LOCAL_API int GetParameter_(const char *key, const char *def, char *value, uint32_t len); diff --git a/interfaces/innerkits/syspara/parameter.c b/interfaces/innerkits/syspara/parameter.c index c5246ba11..d4d8da6f1 100644 --- a/interfaces/innerkits/syspara/parameter.c +++ b/interfaces/innerkits/syspara/parameter.c @@ -17,7 +17,6 @@ #include #include -#include #include "param_comm.h" #include "init_param.h" @@ -109,11 +108,11 @@ int SaveParameters(void) const char *GetDeviceType(void) { static const char *productType = NULL; - const char *deviceType = GetPropertyAtomic("const.product.devicetype", &productType); + const char *deviceType = GetProperty("const.product.devicetype", &productType); if (deviceType != NULL) { return deviceType; } - return GetPropertyAtomic("const.build.characteristics", &productType); + return GetProperty("const.build.characteristics", &productType); } const char *GetProductModel(void) -- Gitee