[Bf-blender-cvs] [d81dd2d] master: Fix/workaround static object initialization in gflags

Sergey Sharybin noreply at git.blender.org
Wed Feb 17 15:02:13 CET 2016


Commit: d81dd2da0fc6c6a02c5484f800345b4af97dbb9f
Author: Sergey Sharybin
Date:   Wed Feb 17 15:00:12 2016 +0100
Branches: master
https://developer.blender.org/rBd81dd2da0fc6c6a02c5484f800345b4af97dbb9f

Fix/workaround static object initialization in gflags

===================================================================

M	extern/gflags/src/gflags.cc

===================================================================

diff --git a/extern/gflags/src/gflags.cc b/extern/gflags/src/gflags.cc
index a35bbfe..7abe1f7 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_;
 }




More information about the Bf-blender-cvs mailing list