summaryrefslogtreecommitdiff
path: root/src/mongo/embedded/embedded.cpp
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2018-08-03 14:25:05 -0400
committerHenrik Edin <henrik.edin@mongodb.com>2018-08-16 15:16:21 -0400
commit611460d96bf33a7654581ca23c4daad974b0ce45 (patch)
tree7d509226ebfb8f50716411cefd0133a61efaf0f4 /src/mongo/embedded/embedded.cpp
parent7c098544dfddc623cadf65a3be0291b61de681d7 (diff)
downloadmongo-611460d96bf33a7654581ca23c4daad974b0ce45.tar.gz
SERVER-33908 Periodic runner implementation for embedded.
It doesn't use threads and instead exposes a pump function where the jobs execute on the calling thread.
Diffstat (limited to 'src/mongo/embedded/embedded.cpp')
-rw-r--r--src/mongo/embedded/embedded.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/embedded/embedded.cpp b/src/mongo/embedded/embedded.cpp
index 2be60864efc..fa520e22ac3 100644
--- a/src/mongo/embedded/embedded.cpp
+++ b/src/mongo/embedded/embedded.cpp
@@ -56,6 +56,7 @@
#include "mongo/db/storage/encryption_hooks.h"
#include "mongo/db/storage/storage_engine_init.h"
#include "mongo/db/ttl.h"
+#include "mongo/embedded/periodic_runner_embedded.h"
#include "mongo/embedded/replication_coordinator_embedded.h"
#include "mongo/embedded/service_entry_point_embedded.h"
#include "mongo/logger/log_component.h"
@@ -300,6 +301,11 @@ ServiceContext* initialize(const char* yaml_config) {
restartInProgressIndexesFromLastShutdown(startupOpCtx.get());
}
+ auto periodicRunner = std::make_unique<PeriodicRunnerEmbedded>(
+ serviceContext, serviceContext->getPreciseClockSource());
+ periodicRunner->startup();
+ serviceContext->setPeriodicRunner(std::move(periodicRunner));
+
// MessageServer::run will return when exit code closes its socket and we don't need the
// operation context anymore
startupOpCtx.reset();