소스 검색

Move caller_id init to Thread constructor to fix UWP build.

(cherry picked from commit 741e1cf6725e699f3dba7b4794f55bcbdba5dcb0)
bruvzg 4 년 전
부모
커밋
8feb53e509
2개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      core/os/thread.cpp
  2. 1 0
      core/os/thread.h

+ 5 - 1
core/os/thread.cpp

@@ -47,7 +47,7 @@ uint64_t Thread::_thread_id_hash(const std::thread::id &p_t) {
 }
 
 Thread::ID Thread::main_thread_id = _thread_id_hash(std::this_thread::get_id());
-thread_local Thread::ID Thread::caller_id = _thread_id_hash(std::this_thread::get_id());
+thread_local Thread::ID Thread::caller_id = 0;
 
 void Thread::_set_platform_funcs(
 		Error (*p_set_name_func)(const String &),
@@ -112,6 +112,10 @@ Error Thread::set_name(const String &p_name) {
 	return ERR_UNAVAILABLE;
 }
 
+Thread::Thread() {
+	caller_id = _thread_id_hash(std::this_thread::get_id());
+}
+
 Thread::~Thread() {
 	if (id != _thread_id_hash(std::thread::id())) {
 #ifdef DEBUG_ENABLED

+ 1 - 0
core/os/thread.h

@@ -98,6 +98,7 @@ public:
 	///< waits until thread is finished, and deallocates it.
 	void wait_to_finish();
 
+	Thread();
 	~Thread();
 #else
 	_FORCE_INLINE_ ID get_id() const { return 0; }