Selaa lähdekoodia

Merge pull request #107620 from bruvzg/imp_deadlock

Fix deadlock in `EditorFileSystem::reimport_files`.
Thaddeus Crews 2 kuukautta sitten
vanhempi
commit
487af4fd6f
1 muutettua tiedostoa jossa 7 lisäystä ja 5 poistoa
  1. 7 5
      editor/editor_file_system.cpp

+ 7 - 5
editor/editor_file_system.cpp

@@ -3262,11 +3262,13 @@ void EditorFileSystem::reimport_files(const Vector<String> &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;
 						}