diff options
author | Ben Caimano <ben.caimano@10gen.com> | 2019-03-05 13:40:25 -0500 |
---|---|---|
committer | Ben Caimano <ben.caimano@10gen.com> | 2019-04-02 18:23:23 -0400 |
commit | 04ea1d46eb6c4c78e19409f120ae2e61f2a35204 (patch) | |
tree | da810936cb90baafd1a40a598a0420107b9506bc /src/mongo/transport | |
parent | 374ae184764e7fb13c60bfa4a731715d22d56d17 (diff) | |
download | mongo-04ea1d46eb6c4c78e19409f120ae2e61f2a35204.tar.gz |
SERVER-39965 OutOfLineExecutor Tasks are now unique_function(Status)
Diffstat (limited to 'src/mongo/transport')
-rw-r--r-- | src/mongo/transport/service_executor_adaptive.cpp | 3 | ||||
-rw-r--r-- | src/mongo/transport/service_executor_test.cpp | 4 | ||||
-rw-r--r-- | src/mongo/transport/transport_layer_asio.cpp | 4 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/mongo/transport/service_executor_adaptive.cpp b/src/mongo/transport/service_executor_adaptive.cpp index 19c1df24d90..edc0cdb0c75 100644 --- a/src/mongo/transport/service_executor_adaptive.cpp +++ b/src/mongo/transport/service_executor_adaptive.cpp @@ -183,7 +183,8 @@ Status ServiceExecutorAdaptive::schedule(ServiceExecutorAdaptive::Task task, } auto wrappedTask = - [ this, task = std::move(task), scheduleTime, pendingCounterPtr, taskName, flags ] { + [ this, task = std::move(task), scheduleTime, pendingCounterPtr, taskName, flags ]( + auto status) { pendingCounterPtr->subtractAndFetch(1); auto start = _tickSource->getTicks(); _totalSpentQueued.addAndFetch(start - scheduleTime); diff --git a/src/mongo/transport/service_executor_test.cpp b/src/mongo/transport/service_executor_test.cpp index 1a987e2242a..2c52deafb69 100644 --- a/src/mongo/transport/service_executor_test.cpp +++ b/src/mongo/transport/service_executor_test.cpp @@ -128,11 +128,11 @@ public: } void schedule(Task task) final { - asio::post(_ioContext, std::move(task)); + asio::post(_ioContext, [task = std::move(task)] { task(Status::OK()); }); } void dispatch(Task task) final { - asio::dispatch(_ioContext, std::move(task)); + asio::dispatch(_ioContext, [task = std::move(task)] { task(Status::OK()); }); } bool onReactorThread() const final { diff --git a/src/mongo/transport/transport_layer_asio.cpp b/src/mongo/transport/transport_layer_asio.cpp index dc0475b801d..1a4aeafea19 100644 --- a/src/mongo/transport/transport_layer_asio.cpp +++ b/src/mongo/transport/transport_layer_asio.cpp @@ -183,11 +183,11 @@ public: } void schedule(Task task) override { - asio::post(_ioContext, std::move(task)); + asio::post(_ioContext, [task = std::move(task)] { task(Status::OK()); }); } void dispatch(Task task) override { - asio::dispatch(_ioContext, std::move(task)); + asio::dispatch(_ioContext, [task = std::move(task)] { task(Status::OK()); }); } bool onReactorThread() const override { |