Jelajahi Sumber

Merge pull request #46414 from RandomShaper/fix_thread_self_join

Prevent thread wait on itself for finish
Rémi Verschelde 4 tahun lalu
induk
melakukan
ba048b8b6e
1 mengubah file dengan 1 tambahan dan 0 penghapusan
  1. 1 0
      core/os/thread.cpp

+ 1 - 0
core/os/thread.cpp

@@ -92,6 +92,7 @@ bool Thread::is_started() const {
 
 
 void Thread::wait_to_finish() {
 void Thread::wait_to_finish() {
 	if (id != 0) {
 	if (id != 0) {
+		ERR_FAIL_COND_MSG(id == get_caller_id(), "A Thread can't wait for itself to finish.");
 		thread.join();
 		thread.join();
 		std::thread empty_thread;
 		std::thread empty_thread;
 		thread.swap(empty_thread);
 		thread.swap(empty_thread);