diff --git a/services/updater_binary/update_processor.cpp b/services/updater_binary/update_processor.cpp index bec492cd4891658abc06787521b1452ad17dc22b..383502e800acf34d2d0237fda05fb249e9a2d524 100644 --- a/services/updater_binary/update_processor.cpp +++ b/services/updater_binary/update_processor.cpp @@ -297,6 +297,7 @@ int32_t UScriptInstructionPkgExtract::Execute(Uscript::UScriptEnv &env, Uscript: int32_t UScriptInstructionPkgExtractRetSuc::Execute(Uscript::UScriptEnv &env, Uscript::UScriptContext &context) { + std::unique_lock lock(extractNoRetMutex); int32_t ret = UScriptInstructionPkgExtract::Execute(env, context); if (ret != USCRIPT_SUCCESS) { LOG(ERROR) << "Error to extract file, ret = " << ret; diff --git a/services/updater_binary/update_processor.h b/services/updater_binary/update_processor.h index 9ff9678b980e5994cb9339ef0b672eb81d7f0d4b..861ea183a408325b5b774f988bb5dca85c7be941 100644 --- a/services/updater_binary/update_processor.h +++ b/services/updater_binary/update_processor.h @@ -90,6 +90,8 @@ public: UScriptInstructionPkgExtractRetSuc() {} ~UScriptInstructionPkgExtractRetSuc() override {} int32_t Execute(Uscript::UScriptEnv &env, Uscript::UScriptContext &context) override; +private: + extractNoRetMutex; }; class UScriptInstructionUpdateFromBin : public Uscript::UScriptInstruction {