aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-12-12 14:00:21 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-12-12 14:00:21 +0000
commit3d837d7d12392766ec430e61a38a314e9587fec0 (patch)
tree12869eef9aaa8cc844d97bee84e2355ea4faf267 /searchcore
parent2c4dd1e7ce7755259a994250aa246ab09a9da278 (diff)
Clean up cancelled task
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/scheduledexecutor.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/common/scheduledexecutor.cpp b/searchcore/src/vespa/searchcore/proton/common/scheduledexecutor.cpp
index 94c81ee4b6b..1619388ce52 100644
--- a/searchcore/src/vespa/searchcore/proton/common/scheduledexecutor.cpp
+++ b/searchcore/src/vespa/searchcore/proton/common/scheduledexecutor.cpp
@@ -67,7 +67,7 @@ ScheduledExecutor::scheduleAtFixedRate(Executor::Task::UP task, duration delay,
uint64_t key = _nextKey++;
auto tTask = std::make_unique<TimerTask>(_transport.GetScheduler(), std::move(task), interval);
auto & taskRef = *tTask;
- _taskList[key] = std::move(tTask);
+ _taskList[key] = std::move(tTask);
taskRef.Schedule(vespalib::to_s(delay));
return std::make_unique<Registration>(*this, key);
}
@@ -80,6 +80,7 @@ ScheduledExecutor::cancel(uint64_t key)
if (found == _taskList.end()) return false;
found->second->Unschedule();
+ _taskList.erase(found);
return true;
}