artf4107: GetInstance() calls are now atomic

C++11 guarantees construction of static variables to be atomic, so this patch takes advantage of that.

Change-Id: I4a3db0f19c5fa5461fef3b6b63d7b8fec596c962
This commit is contained in:
Tyler Veness
2015-06-24 04:25:10 -07:00
parent 368ad30d37
commit faedfa6ed4
11 changed files with 14 additions and 43 deletions

View File

@@ -10,10 +10,8 @@ using namespace gazebo;
class MainNode {
public:
static MainNode* GetInstance() {
if (instance == nullptr) {
instance = new MainNode();
}
return instance;
static MainNode instance;
return &instance;
}
template<typename M>
@@ -39,8 +37,6 @@ public:
transport::NodePtr main;
private:
static MainNode* instance;
MainNode() {
gazebo::transport::init();
main = transport::NodePtr(new transport::Node());