summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog/database_holder_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/catalog/database_holder_impl.cpp')
-rw-r--r--src/mongo/db/catalog/database_holder_impl.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/mongo/db/catalog/database_holder_impl.cpp b/src/mongo/db/catalog/database_holder_impl.cpp
index c4873930036..0497c3fa74a 100644
--- a/src/mongo/db/catalog/database_holder_impl.cpp
+++ b/src/mongo/db/catalog/database_holder_impl.cpp
@@ -50,23 +50,14 @@
namespace mongo {
namespace {
-std::unique_ptr<DatabaseHolder> dbHolderStorage;
-
-GlobalInitializerRegisterer dbHolderImplInitializer("InitializeDbHolderimpl",
- [](InitializerContext* const) {
- dbHolderStorage =
- std::make_unique<DatabaseHolder>();
- return Status::OK();
- },
- [](DeinitializerContext* const) {
- dbHolderStorage = nullptr;
- return Status::OK();
- });
+
+const auto dbHolderStorage = ServiceContext::declareDecoration<DatabaseHolder>();
+
} // namespace
MONGO_REGISTER_SHIM(DatabaseHolder::getDatabaseHolder)
()->DatabaseHolder& {
- return *dbHolderStorage;
+ return dbHolderStorage(getGlobalServiceContext());
}
MONGO_REGISTER_SHIM(DatabaseHolder::makeImpl)