aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
index c4826bba8ea..6b606298026 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
@@ -31,9 +31,9 @@ public:
};
bool
-isRunningOrRunnable(const MaintenanceJobRunner & job, const Executor * master) {
+isRunnable(const MaintenanceJobRunner & job, const Executor * master) {
return (&job.getExecutor() == master)
- ? job.isRunning()
+ ? false
: job.isRunnable();
}
@@ -99,14 +99,14 @@ MaintenanceController::killJobs()
job->stop(); // Make sure no more tasks are added to the executor
}
for (auto &job : _jobs) {
- while (isRunningOrRunnable(*job, &_masterThread)) {
+ while (isRunnable(*job, &_masterThread)) {
std::this_thread::sleep_for(1ms);
}
}
- JobList tmpJobs = _jobs;
+ JobList tmpJobs;
{
Guard guard(_jobsLock);
- _jobs.clear();
+ tmpJobs.swap(_jobs);
}
// Hold jobs until existing tasks have been drained
_masterThread.execute(makeLambdaTask([this, jobs=std::move(tmpJobs)]() {