diff --git a/src/scheduled_executor.cpp b/src/scheduled_executor.cpp index 9e06f96b91208afa25cefdb844af058e49aaf75c..1fd05096c613c61eb4d373cedb4279f2f83ee4a0 100644 --- a/src/scheduled_executor.cpp +++ b/src/scheduled_executor.cpp @@ -55,11 +55,9 @@ ScheduledExecutor::~ScheduledExecutor() void ScheduledExecutor::stop() { - { - std::lock_guard<std::mutex> lock(jobLock_); - *running_ = false; - jobs_.clear(); - } + std::lock_guard<std::mutex> lock(jobLock_); + *running_ = false; + jobs_.clear(); cv_.notify_all(); } @@ -67,11 +65,9 @@ void ScheduledExecutor::run(std::function<void()>&& job, const char* filename, uint32_t linum) { - { - std::lock_guard<std::mutex> lock(jobLock_); - auto now = clock::now(); - jobs_[now].emplace_back(std::move(job), filename, linum); - } + std::lock_guard<std::mutex> lock(jobLock_); + auto now = clock::now(); + jobs_[now].emplace_back(std::move(job), filename, linum); cv_.notify_all(); } @@ -115,11 +111,11 @@ ScheduledExecutor::reschedule(std::shared_ptr<RepeatedTask> task, time_point t, void ScheduledExecutor::schedule(std::shared_ptr<Task> task, time_point t) { - { - std::lock_guard<std::mutex> lock(jobLock_); - jobs_[t].emplace_back([task = std::move(task), this] { task->run(name_.c_str()); }, - task->job().filename, task->job().linum); - } + const char* filename = task->job().filename; + uint32_t linenum = task->job().linum; + std::lock_guard<std::mutex> lock(jobLock_); + jobs_[t].emplace_back([task = std::move(task), this] { task->run(name_.c_str()); }, + filename, linenum); cv_.notify_all(); }