From 507cb47f973b8063bc18ede7e579d571b07cdbcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Tue, 17 Jun 2025 12:45:02 +0300 Subject: [PATCH] Fix deadlock in `EditorFileSystem::reimport_files`. --- editor/editor_file_system.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 5062637177..9b84fe4321 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -3248,11 +3248,13 @@ void EditorFileSystem::reimport_files(const Vector &p_files) { int imported_count = 0; while (true) { - ep->step(reimport_files[imported_count].path.get_file(), from + imported_count, false); - imported_sem.wait(); - do { - imported_count++; - } while (imported_sem.try_wait()); + while (true) { + ep->step(reimport_files[imported_count].path.get_file(), from + imported_count, false); + if (imported_sem.try_wait()) { + imported_count++; + break; + } + } if (imported_count == item_count) { break; }