diff --git a/include/tls_pointer.h b/include/tls_pointer.h index 4e263f3..f1cb668 100644 --- a/include/tls_pointer.h +++ b/include/tls_pointer.h @@ -61,9 +61,9 @@ public: template T* create(P&&... params) { - auto ptr = static_cast(*this); + thread_local auto ptr = static_cast(*this); if (ptr == nullptr) { - return (*this) = new T(std::forward

(params)...); + return ptr = (*this) = new T(std::forward

(params)...); } return ptr; }