Reducing the scope of a lock
This commit is contained in:
@@ -95,9 +95,10 @@ TaskFuture ForkingTaskExecutor::execute(DAGRunID runID,
|
||||
const Task &task)
|
||||
{
|
||||
std::string key = std::to_string(runID) + "_" + taskName;
|
||||
std::lock_guard<std::mutex> lock(taskControlsGuard_);
|
||||
std::unique_lock<std::mutex> lock(taskControlsGuard_);
|
||||
auto [it, ins] = taskControls_.emplace(key, true);
|
||||
auto &running = it->second;
|
||||
lock.unlock();
|
||||
auto &running = it->second;
|
||||
return tp_.addTask([this, task, taskName, &running, key]() {
|
||||
auto ret = this->runTask(task, running);
|
||||
std::lock_guard<std::mutex> lock(this->taskControlsGuard_);
|
||||
|
||||
Reference in New Issue
Block a user