Branimir Karadžić 10 年之前
父節點
當前提交
bbbd526231
共有 1 個文件被更改,包括 7 次插入1 次删除
  1. 7 1
      include/bx/thread.h

+ 7 - 1
include/bx/thread.h

@@ -52,7 +52,7 @@ namespace bx
 			}
 		}
 
-		void init(ThreadFn _fn, void* _userData = NULL, uint32_t _stackSize = 0)
+		void init(ThreadFn _fn, void* _userData = NULL, uint32_t _stackSize = 0, const char* _name = NULL)
 		{
 			BX_CHECK(!m_running, "Already running!");
 
@@ -101,6 +101,10 @@ namespace bx
 			BX_CHECK(0 == result, "pthread_attr_setschedparam failed! %d", result);
 #endif // BX_PLATFORM_
 
+			if (NULL != _name)
+			{
+				setThreadName(_name);
+			}
 			m_sem.wait();
 		}
 
@@ -146,6 +150,7 @@ namespace bx
 #elif BX_PLATFORM_POSIX
 			pthread_setname_np(m_handle, _name);
 #elif BX_PLATFORM_WINDOWS && BX_COMPILER_MSVC
+#	pragma pack(push, 8)
 			struct ThreadName
 			{
 				DWORD  type;
@@ -153,6 +158,7 @@ namespace bx
 				DWORD  id;
 				DWORD  flags;
 			};
+#	pragma pack(pop)
 			ThreadName tn;
 			tn.type  = 0x1000;
 			tn.name  = _name;