Fix/workaround static object initialization in gflags
This commit is contained in:
parent
157bc3dbbf
commit
d81dd2da0f
12
extern/gflags/src/gflags.cc
vendored
12
extern/gflags/src/gflags.cc
vendored
@ -881,9 +881,15 @@ FlagRegistry* FlagRegistry::global_registry_ = NULL;
|
|||||||
Mutex FlagRegistry::global_registry_lock_(Mutex::LINKER_INITIALIZED);
|
Mutex FlagRegistry::global_registry_lock_(Mutex::LINKER_INITIALIZED);
|
||||||
|
|
||||||
FlagRegistry* FlagRegistry::GlobalRegistry() {
|
FlagRegistry* FlagRegistry::GlobalRegistry() {
|
||||||
MutexLock acquire_lock(&global_registry_lock_);
|
if (GetArgvSum() != 0) {
|
||||||
if (!global_registry_) {
|
MutexLock acquire_lock(&global_registry_lock_);
|
||||||
global_registry_ = new FlagRegistry;
|
if (!global_registry_) {
|
||||||
|
global_registry_ = new FlagRegistry;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!global_registry_) {
|
||||||
|
global_registry_ = new FlagRegistry;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return global_registry_;
|
return global_registry_;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user