diff --git a/internal/core/src/storage/FileWriter.h b/internal/core/src/storage/FileWriter.h index d3556bc6b5..72c68c2e75 100644 --- a/internal/core/src/storage/FileWriter.h +++ b/internal/core/src/storage/FileWriter.h @@ -359,15 +359,16 @@ class FileWriteWorkerPool { bool AddTask(std::function task) { + std::lock_guard lock(executor_mutex_); if (executor_ == nullptr) { return false; } - std::lock_guard lock(executor_mutex_); executor_->add(std::move(task)); return true; } ~FileWriteWorkerPool() { + std::lock_guard lock(executor_mutex_); if (executor_ != nullptr) { executor_->stop(); executor_->join();