summaryrefslogtreecommitdiff
path: root/src/mongo/base/initializer.h
diff options
context:
space:
mode:
authorKevin Pulo <kevin.pulo@mongodb.com>2020-03-16 16:43:39 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-05-18 08:08:44 +0000
commit9f6af24864286343052497e827f06cba350c3c3e (patch)
tree1c33f84c8b8863604796a3d28bc107c3c46f0f24 /src/mongo/base/initializer.h
parentd0e6f87351312a299a17f6d63e3f2f4db834ae1f (diff)
downloadmongo-9f6af24864286343052497e827f06cba350c3c3e.tar.gz
SERVER-46881 Forbid adding nodes to initializer graph after starting initializer execution
Diffstat (limited to 'src/mongo/base/initializer.h')
-rw-r--r--src/mongo/base/initializer.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/base/initializer.h b/src/mongo/base/initializer.h
index c7297abacbf..91b4c5e8183 100644
--- a/src/mongo/base/initializer.h
+++ b/src/mongo/base/initializer.h
@@ -73,7 +73,16 @@ public:
Status executeDeinitializers();
private:
+ enum class State {
+ kUninitialized,
+ kInitializing,
+ kInitialized,
+ kDeinitializing,
+ };
+
InitializerDependencyGraph _graph;
+ std::vector<std::string> _sortedNodes;
+ State _lifecycleState{State::kUninitialized};
};
/**