diff options
Diffstat (limited to 'src/mongo/db/catalog/database_holder_impl.cpp')
-rw-r--r-- | src/mongo/db/catalog/database_holder_impl.cpp | 17 |
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) |