Sfoglia il codice sorgente

Move caller_id init to Thread constructor to fix UWP build.

(cherry picked from commit 741e1cf6725e699f3dba7b4794f55bcbdba5dcb0)
bruvzg 4 anni fa
parent
commit
8feb53e509
2 ha cambiato i file con 6 aggiunte e 1 eliminazioni
  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; }