aboutsummaryrefslogtreecommitdiff
path: root/src/keeper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/keeper.cpp')
-rw-r--r--src/keeper.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/keeper.cpp b/src/keeper.cpp
index c8c470f..ca2a80d 100644
--- a/src/keeper.cpp
+++ b/src/keeper.cpp
@@ -952,15 +952,15 @@ void Keepers::collectGarbage()
952// ################################################################################################# 952// #################################################################################################
953 953
954 954
955void Keepers::close() 955bool Keepers::close()
956{ 956{
957 if (isClosing.test_and_set(std::memory_order_release)) { 957 if (isClosing.test_and_set(std::memory_order_release)) {
958 assert(false); // should never close more than once in practice 958 return false; // should never close more than once in practice
959 return;
960 } 959 }
961 960
961 // We may have not initialized the keepers if an error was raised in Universe::Create because of bad settings
962 if (std::holds_alternative<std::monostate>(keeper_array)) { 962 if (std::holds_alternative<std::monostate>(keeper_array)) {
963 return; 963 return true;
964 } 964 }
965 965
966 auto _closeOneKeeper = [](Keeper& keeper_) { 966 auto _closeOneKeeper = [](Keeper& keeper_) {
@@ -989,6 +989,7 @@ void Keepers::close()
989 } 989 }
990 990
991 keeper_array.emplace<std::monostate>(); 991 keeper_array.emplace<std::monostate>();
992 return true;
992} 993}
993 994
994// ################################################################################################# 995// #################################################################################################