summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-11-20 10:48:46 +0100
committerGitHub <noreply@github.com>2021-11-20 10:48:46 +0100
commitbe16eb625b8260e6e4f53af3b066602bccab6900 (patch)
tree936bc0fb4b8a111804476e5383a8b7c4297067c2
parenta74e2c50583d839a8066f5ee2f806a11137a7026 (diff)
parentc558263d84e974c95efe4d1e34539d4232e5d26f (diff)
Merge pull request #54932 from briansemrau/expose-main-thread-id
-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 d06a06a2ee..7088844547 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>