diff options
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/common/scheduled_forward_executor.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/common/scheduled_forward_executor.cpp b/searchcore/src/vespa/searchcore/proton/common/scheduled_forward_executor.cpp index 3f94247fa7e..40f8cd19a17 100644 --- a/searchcore/src/vespa/searchcore/proton/common/scheduled_forward_executor.cpp +++ b/searchcore/src/vespa/searchcore/proton/common/scheduled_forward_executor.cpp @@ -24,8 +24,9 @@ IScheduledExecutor::Handle ScheduledForwardExecutor::scheduleAtFixedRate(Executor::Task::UP task, duration delay, duration interval) { - return _scheduler.scheduleAtFixedRate(makeLambdaTask([&, my_task = std::move(task)]() { - _executor.execute(makeLambdaTask([&]() { + std::shared_ptr<Executor::Task> my_task = std::move(task); + return _scheduler.scheduleAtFixedRate(makeLambdaTask([&, my_task = std::move(my_task)]() { + _executor.execute(makeLambdaTask([&, my_task]() { my_task->run(); })); }), delay, interval); |