diff options
author | Henrik Edin <henrik.edin@mongodb.com> | 2018-06-29 10:21:36 -0400 |
---|---|---|
committer | Henrik Edin <henrik.edin@mongodb.com> | 2018-07-02 12:29:06 -0400 |
commit | 5efeeb73b16e50cf0c010b09a1a83f70e27d38fa (patch) | |
tree | f2d09ebc55fbfd5bf8fc69ceb1b077135d57cdae /src | |
parent | 53a0c9cba92239d3236016a1d1bf486e95ce860c (diff) | |
download | mongo-5efeeb73b16e50cf0c010b09a1a83f70e27d38fa.tar.gz |
SERVER-35908 Shutdown the service entry point before embedded in mongoed to make sure there's no clients left.
(cherry picked from commit bed5e03f5462243ca3159d94172aca9adac3294a)
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/embedded/mongoed_main.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/embedded/mongoed_main.cpp b/src/mongo/embedded/mongoed_main.cpp index 30d010f8e20..c43e95e09ef 100644 --- a/src/mongo/embedded/mongoed_main.cpp +++ b/src/mongo/embedded/mongoed_main.cpp @@ -85,7 +85,15 @@ int mongoedMain(int argc, char* argv[], char** envp) { tl->shutdown(); } - embedded::shutdown(serviceContext); + if (auto sep = serviceContext->getServiceEntryPoint()) { + if (sep->shutdown(Seconds(10))) { + embedded::shutdown(serviceContext); + } else { + log(logger::LogComponent::kNetwork) << "Failed to shutdown service entry point " + "within timelimit, skipping embedded " + "shutdown."; + } + } }); setupSignalHandlers(); |