Pārlūkot izejas kodu

Lazy init default thread allocator.

Branimir Karadžić 8 gadi atpakaļ
vecāks
revīzija
5fdeb85157
1 mainītis faili ar 6 papildinājumiem un 2 dzēšanām
  1. 6 2
      src/thread.cpp

+ 6 - 2
src/thread.cpp

@@ -36,7 +36,11 @@ using namespace Windows::System::Threading;
 
 namespace bx
 {
-	static DefaultAllocator s_allocator;
+	static AllocatorI* getAllocator()
+	{
+		static DefaultAllocator s_allocator;
+		return &s_allocator;
+	}
 
 	struct ThreadInternal
 	{
@@ -78,7 +82,7 @@ namespace bx
 	Thread::Thread()
 		: m_fn(NULL)
 		, m_userData(NULL)
-		, m_queue(&s_allocator)
+		, m_queue(getAllocator() )
 		, m_stackSize(0)
 		, m_exitCode(kExitSuccess)
 		, m_running(false)