diff --git a/hal/api/SingletonPtr.h b/hal/api/SingletonPtr.h index 998aff8245..820c8ed7d1 100644 --- a/hal/api/SingletonPtr.h +++ b/hal/api/SingletonPtr.h @@ -76,7 +76,9 @@ struct SingletonPtr { T* get() { if (NULL == _ptr) { singleton_lock(); - _ptr = new (_data) T; + if (NULL == _ptr) { + _ptr = new (_data) T(); + } singleton_unlock(); } // _ptr was not zero initialized or was