+OpenThreads::Mutex SGCommandMgr::_instanceMutex;
+
+SGCommandMgr*
+SGCommandMgr::instance()
+{
+ static std::auto_ptr<SGCommandMgr> mgr;
+ if (mgr.get())
+ return mgr.get();
+
+ OpenThreads::ScopedLock<OpenThreads::Mutex> lock(_instanceMutex);
+ if (mgr.get())
+ return mgr.get();
+
+ mgr = std::auto_ptr<SGCommandMgr>(new SGCommandMgr);
+ return mgr.get();
+}
+