Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11

Also works around a Visual Studio 2017 bug where static inline class fields are destructed multiple times
This commit is contained in:
Silent committed 2019-06-23 21:43:47 +02:00
1 parent 5262f39026
commit 6c21811090
11 files changed
+16 -25

No files matched your search

+3 -7
View File
@@ -53,14 +53,10 @@ DolphinAnalytics::DolphinAnalytics()
MakeBaseBuilder();
}
std::shared_ptr<DolphinAnalytics> DolphinAnalytics::Instance()
DolphinAnalytics& DolphinAnalytics::Instance()
{
std::lock_guard lk{s_instance_mutex};
if (!s_instance)
{
s_instance.reset(new DolphinAnalytics());
}
return s_instance;
static DolphinAnalytics instance;
return instance;
}
void DolphinAnalytics::ReloadConfig()