diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2023-06-10 12:12:13 +0200 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-06-10 12:12:13 +0200 |
| commit | 37d1dfef9d81aade27ab0c56fc6b6f12f6a08045 (patch) | |
| tree | 7b2836aa90c68faf8007593a503c67472226b543 /core/object | |
| parent | 65969dd51a1a763b583755ffafd908e9d8022eae (diff) | |
| parent | 2b001db76e608b5f99a1a4cbed906c233f2cf348 (diff) | |
| download | redot-engine-37d1dfef9d81aade27ab0c56fc6b6f12f6a08045.tar.gz | |
Merge pull request #78000 from RandomShaper/let_users_mess_up
Let user scripts disable thread safety checks
Diffstat (limited to 'core/object')
| -rw-r--r-- | core/object/worker_thread_pool.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/object/worker_thread_pool.cpp b/core/object/worker_thread_pool.cpp index afe6ecd1b3..d285be3e70 100644 --- a/core/object/worker_thread_pool.cpp +++ b/core/object/worker_thread_pool.cpp @@ -31,6 +31,7 @@ #include "worker_thread_pool.h" #include "core/os/os.h" +#include "core/os/thread_safe.h" void WorkerThreadPool::Task::free_template_userdata() { ERR_FAIL_COND(!template_userdata); @@ -178,6 +179,9 @@ void WorkerThreadPool::_process_task(Task *p_task) { if (post) { task_available_semaphore.post(); } + + // Engine/user tasks can set-and-forget, so we must be sure it's back to normal by the end of the task. + set_current_thread_safe_for_nodes(false); } } |
