summaryrefslogtreecommitdiff
path: root/src/mongo/db/service_liaison_mongod.cpp
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2018-08-03 13:26:49 -0400
committerHenrik Edin <henrik.edin@mongodb.com>2018-09-18 11:06:07 -0400
commit169119bf4bf823f503c66262b438e2828d1f83b5 (patch)
tree5903229b0238cf0fc48c859ab5d7655bd015fda3 /src/mongo/db/service_liaison_mongod.cpp
parent07ecc05d44c2a4f443bccf96004a1da16b2e3984 (diff)
downloadmongo-169119bf4bf823f503c66262b438e2828d1f83b5.tar.gz
SERVER-36704 Logical session support for embedded, behaves as standalone mongod
Diffstat (limited to 'src/mongo/db/service_liaison_mongod.cpp')
-rw-r--r--src/mongo/db/service_liaison_mongod.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mongo/db/service_liaison_mongod.cpp b/src/mongo/db/service_liaison_mongod.cpp
index a6e91477f6c..0d5b5cb6970 100644
--- a/src/mongo/db/service_liaison_mongod.cpp
+++ b/src/mongo/db/service_liaison_mongod.cpp
@@ -36,7 +36,6 @@
#include "mongo/db/service_context.h"
#include "mongo/stdx/mutex.h"
#include "mongo/util/clock_source.h"
-#include "mongo/util/periodic_runner.h"
namespace mongo {
@@ -86,12 +85,17 @@ LogicalSessionIdSet ServiceLiaisonMongod::getOpenCursorSessions() const {
void ServiceLiaisonMongod::scheduleJob(PeriodicRunner::PeriodicJob job) {
invariant(hasGlobalServiceContext());
- getGlobalServiceContext()->getPeriodicRunner()->scheduleJob(std::move(job));
+ auto jobHandle = getGlobalServiceContext()->getPeriodicRunner()->makeJob(std::move(job));
+ jobHandle->start();
+ _jobs.push_back(std::move(jobHandle));
}
void ServiceLiaisonMongod::join() {
invariant(hasGlobalServiceContext());
- getGlobalServiceContext()->getPeriodicRunner()->shutdown();
+ for (auto&& jobHandle : _jobs) {
+ jobHandle->stop();
+ }
+ _jobs.clear();
}
Date_t ServiceLiaisonMongod::now() const {