summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Semrau <brian.semrau@gmail.com>2021-11-12 19:10:33 -0500
committerBrian Semrau <brian.semrau@gmail.com>2021-11-12 19:28:49 -0500
commitc558263d84e974c95efe4d1e34539d4232e5d26f (patch)
treee1104420c31ec527bdc219826b552b092849b03a
parent19571c9c4bb8c388ac5d9a0255a8c18c4680b7df (diff)
Expose Thread::get_main_id in core bindings
-rw-r--r--core/core_bind.cpp5
-rw-r--r--core/core_bind.h1
-rw-r--r--doc/classes/OS.xml7
3 files changed, 13 insertions, 0 deletions
diff --git a/core/core_bind.cpp b/core/core_bind.cpp
index d42d39a159..0bf6efc96d 100644
--- a/core/core_bind.cpp
+++ b/core/core_bind.cpp
@@ -315,6 +315,10 @@ Error OS::set_thread_name(const String &p_name) {
return ::Thread::get_caller_id();
};
+::Thread::ID OS::get_main_thread_id() const {
+ return ::Thread::get_main_id();
+};
+
bool OS::has_feature(const String &p_feature) const {
return ::OS::get_singleton()->has_feature(p_feature);
}
@@ -601,6 +605,7 @@ void OS::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_thread_name", "name"), &OS::set_thread_name);
ClassDB::bind_method(D_METHOD("get_thread_caller_id"), &OS::get_thread_caller_id);
+ ClassDB::bind_method(D_METHOD("get_main_thread_id"), &OS::get_main_thread_id);
ClassDB::bind_method(D_METHOD("has_feature", "tag_name"), &OS::has_feature);
diff --git a/core/core_bind.h b/core/core_bind.h
index 641e3a33ae..4bacfa720c 100644
--- a/core/core_bind.h
+++ b/core/core_bind.h
@@ -237,6 +237,7 @@ public:
Error set_thread_name(const String &p_name);
Thread::ID get_thread_caller_id() const;
+ Thread::ID get_main_thread_id() const;
bool has_feature(const String &p_feature) const;
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index dcd41e46f0..7fb80abbf9 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -246,6 +246,13 @@
This can be used to narrow down fully specified locale strings to only the "common" language code, when you don't need the additional information about country code or variants. For example, for a French Canadian user with [code]fr_CA[/code] locale, this would return [code]fr[/code].
</description>
</method>
+ <method name="get_main_thread_id" qualifiers="const">
+ <return type="int" />
+ <description>
+ Returns the ID of the main thread. See [method get_thread_caller_id].
+ [b]Note:[/b] Thread IDs are not deterministic and may be reused across application restarts.
+ </description>
+ </method>
<method name="get_model_name" qualifiers="const">
<return type="String" />
<description>