summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-03-09 11:23:16 +0100
committerGitHub <noreply@github.com>2021-03-09 11:23:16 +0100
commit42ca4a424b700e28235d4efb8af8bc18f2554448 (patch)
tree149857af80d67832df792a02dbe66409a3aba33b
parentab585be885f2f55155ceaa4628721e86bae7eb37 (diff)
parent741e1cf6725e699f3dba7b4794f55bcbdba5dcb0 (diff)
Merge pull request #46813 from bruvzg/uwp_thread_fix
Move caller_id init to Thread constructor to fix UWP build.
-rw-r--r--core/os/thread.cpp6
-rw-r--r--core/os/thread.h1
2 files changed, 6 insertions, 1 deletions
diff --git a/core/os/thread.cpp b/core/os/thread.cpp
index f1fcfdf7e1..73e31bdb3d 100644
--- a/core/os/thread.cpp
+++ b/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
diff --git a/core/os/thread.h b/core/os/thread.h
index 599585051f..17ac82c650 100644
--- a/core/os/thread.h
+++ b/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; }