diff options
Diffstat (limited to 'extern')
-rw-r--r-- | extern/gflags/src/gflags.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/extern/gflags/src/gflags.cc b/extern/gflags/src/gflags.cc index a35bbfe6664..7abe1f70da3 100644 --- a/extern/gflags/src/gflags.cc +++ b/extern/gflags/src/gflags.cc @@ -881,9 +881,15 @@ FlagRegistry* FlagRegistry::global_registry_ = NULL; Mutex FlagRegistry::global_registry_lock_(Mutex::LINKER_INITIALIZED); FlagRegistry* FlagRegistry::GlobalRegistry() { - MutexLock acquire_lock(&global_registry_lock_); - if (!global_registry_) { - global_registry_ = new FlagRegistry; + if (GetArgvSum() != 0) { + MutexLock acquire_lock(&global_registry_lock_); + if (!global_registry_) { + global_registry_ = new FlagRegistry; + } + } else { + if (!global_registry_) { + global_registry_ = new FlagRegistry; + } } return global_registry_; } |