diff --git a/util/js_textdecoder.cpp b/util/js_textdecoder.cpp index 2ef93dfaaaf23bf8cebf0f5aa8dc2adf1afd5af6..d75fe3b79227795102e082ee6fceca482efcbf29 100755 --- a/util/js_textdecoder.cpp +++ b/util/js_textdecoder.cpp @@ -42,6 +42,11 @@ namespace OHOS::Util { } } label_ = i32Flag; + { + decodeLock_.lock(); + SetHwIcuDirectory(); + decodeLock_.unlock(); + } bool fatal = (i32Flag & static_cast(ConverterFlags::FATAL_FLG)) == static_cast(ConverterFlags::FATAL_FLG); diff --git a/util/js_textdecoder.h b/util/js_textdecoder.h index 8f1d0fcb50216e5340f9834fa320f450d93e8171..19ba906c35215e70cbc99141acfedbfaca313c1d 100755 --- a/util/js_textdecoder.h +++ b/util/js_textdecoder.h @@ -17,6 +17,7 @@ #define UTIL_JS_TEXTDECODER_H_ #include +#include #include #include #include "napi/native_api.h" @@ -163,6 +164,7 @@ namespace OHOS::Util { uint32_t label_; std::string encStr_; TransformToolPointer tranTool_; + std::mutex decodeLock_; }; } #endif // UTIL_JS_TEXTDECODER_H_