From 3cfdab187257b5c6618e4631cd9f8f0d88a4e869 Mon Sep 17 00:00:00 2001 From: h00514358 Date: Thu, 2 Jun 2022 14:52:04 +0800 Subject: [PATCH] Modify multithreading issues Signed-off-by: h00514358 --- interfaces/plugin/src/sensor_js.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index 30508cac..22e60701 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -190,6 +190,9 @@ static bool IsOnceSubscribed(napi_env env, int32_t sensorTypeId, napi_value call std::vector> callbackInfos = g_onceCallbackInfos[sensorTypeId]; for (auto callbackInfo : callbackInfos) { CHKNCC(env, (callbackInfo != nullptr), "callbackInfo is null"); + if (callbackInfo->env != env) { + continue; + } napi_value sensorCallback = nullptr; CHKNRF(env, napi_get_reference_value(env, callbackInfo->callback[0], &sensorCallback), "napi_get_reference_value"); @@ -246,6 +249,9 @@ static bool IsSubscribed(napi_env env, int32_t sensorTypeId, napi_value callback std::vector> callbackInfos = g_onCallbackInfos[sensorTypeId]; for (auto callbackInfo : callbackInfos) { CHKNCC(env, (callbackInfo != nullptr), "callbackInfo is null"); + if (callbackInfo->env != env) { + continue; + } napi_value sensorCallback = nullptr; CHKNRF(env, napi_get_reference_value(env, callbackInfo->callback[0], &sensorCallback), "napi_get_reference_value"); -- Gitee