From 0d0132b34082f9789e32f7506022f5a65f41b2ea Mon Sep 17 00:00:00 2001 From: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:31:09 +0200 Subject: [PATCH] Trailing cases --- core/debugger/remote_debugger_peer.cpp | 3 +-- core/io/resource.cpp | 7 ++----- core/object/worker_thread_pool.cpp | 3 +-- editor/editor_file_system.cpp | 3 +-- modules/navigation/2d/nav_mesh_generator_2d.cpp | 10 +++------- modules/navigation/3d/nav_mesh_generator_3d.cpp | 10 +++------- 6 files changed, 11 insertions(+), 25 deletions(-) diff --git a/core/debugger/remote_debugger_peer.cpp b/core/debugger/remote_debugger_peer.cpp index 21a9014626db..9dca47a0b4f2 100644 --- a/core/debugger/remote_debugger_peer.cpp +++ b/core/debugger/remote_debugger_peer.cpp @@ -144,9 +144,8 @@ void RemoteDebuggerPeerTCP::_read_in() { Error err = decode_variant(var, buf, in_pos, &read); ERR_CONTINUE(read != in_pos || err != OK); ERR_CONTINUE_MSG(var.get_type() != Variant::ARRAY, "Malformed packet received, not an Array."); - mutex.lock(); + MutexLock lock(mutex); in_queue.push_back(var); - mutex.unlock(); } } } diff --git a/core/io/resource.cpp b/core/io/resource.cpp index 9f4cd7fc52ad..14ab4bd4e9be 100644 --- a/core/io/resource.cpp +++ b/core/io/resource.cpp @@ -486,15 +486,13 @@ void Resource::set_as_translation_remapped(bool p_remapped) { return; } - ResourceCache::lock.lock(); + MutexLock lock(ResourceCache::lock); if (p_remapped) { ResourceLoader::remapped_list.add(&remapped_list); } else { ResourceLoader::remapped_list.remove(&remapped_list); } - - ResourceCache::lock.unlock(); } #ifdef TOOLS_ENABLED @@ -564,14 +562,13 @@ Resource::~Resource() { return; } - ResourceCache::lock.lock(); + MutexLock lock(ResourceCache::lock); // Only unregister from the cache if this is the actual resource listed there. // (Other resources can have the same value in `path_cache` if loaded with `CACHE_IGNORE`.) HashMap::Iterator E = ResourceCache::resources.find(path_cache); if (likely(E && E->value == this)) { ResourceCache::resources.remove(E); } - ResourceCache::lock.unlock(); } HashMap ResourceCache::resources; diff --git a/core/object/worker_thread_pool.cpp b/core/object/worker_thread_pool.cpp index 0029b6223588..d25c9a2e811d 100644 --- a/core/object/worker_thread_pool.cpp +++ b/core/object/worker_thread_pool.cpp @@ -631,9 +631,8 @@ void WorkerThreadPool::wait_for_group_task_completion(GroupID p_group) { } } - task_mutex.lock(); // This mutex is needed when Physics 2D and/or 3D is selected to run on a separate thread. + MutexLock task_lock(task_mutex); // This mutex is needed when Physics 2D and/or 3D is selected to run on a separate thread. groups.erase(p_group); - task_mutex.unlock(); #endif } diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 54c738b6fb27..903d4d955975 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -1895,7 +1895,7 @@ void EditorFileSystem::_update_script_documentation() { return; } - update_script_mutex.lock(); + MutexLock update_script_lock(update_script_mutex); EditorProgress *ep = nullptr; if (update_script_paths_documentation.size() > 1) { @@ -1934,7 +1934,6 @@ void EditorFileSystem::_update_script_documentation() { memdelete_notnull(ep); update_script_paths_documentation.clear(); - update_script_mutex.unlock(); } void EditorFileSystem::_process_update_pending() { diff --git a/modules/navigation/2d/nav_mesh_generator_2d.cpp b/modules/navigation/2d/nav_mesh_generator_2d.cpp index 6f8b40213a8d..a019ca07cee7 100644 --- a/modules/navigation/2d/nav_mesh_generator_2d.cpp +++ b/modules/navigation/2d/nav_mesh_generator_2d.cpp @@ -87,8 +87,8 @@ void NavMeshGenerator2D::sync() { return; } - baking_navmesh_mutex.lock(); - generator_task_mutex.lock(); + MutexLock baking_navmesh_lock(baking_navmesh_mutex); + MutexLock generator_task_lock(generator_task_mutex); LocalVector finished_task_ids; @@ -111,9 +111,6 @@ void NavMeshGenerator2D::sync() { for (WorkerThreadPool::TaskID finished_task_id : finished_task_ids) { generator_tasks.erase(finished_task_id); } - - generator_task_mutex.unlock(); - baking_navmesh_mutex.unlock(); } void NavMeshGenerator2D::cleanup() { @@ -209,7 +206,7 @@ void NavMeshGenerator2D::bake_from_source_geometry_data_async(Refnavigation_mesh = p_navigation_mesh; generator_task->source_geometry_data = p_source_geometry_data; @@ -217,7 +214,6 @@ void NavMeshGenerator2D::bake_from_source_geometry_data_async(Refstatus = NavMeshGeneratorTask2D::TaskStatus::BAKING_STARTED; generator_task->thread_task_id = WorkerThreadPool::get_singleton()->add_native_task(&NavMeshGenerator2D::generator_thread_bake, generator_task, NavMeshGenerator2D::baking_use_high_priority_threads, "NavMeshGeneratorBake2D"); generator_tasks.insert(generator_task->thread_task_id, generator_task); - generator_task_mutex.unlock(); } bool NavMeshGenerator2D::is_baking(Ref p_navigation_polygon) { diff --git a/modules/navigation/3d/nav_mesh_generator_3d.cpp b/modules/navigation/3d/nav_mesh_generator_3d.cpp index cac5fb9c1c2e..ede4756194b4 100644 --- a/modules/navigation/3d/nav_mesh_generator_3d.cpp +++ b/modules/navigation/3d/nav_mesh_generator_3d.cpp @@ -100,8 +100,8 @@ void NavMeshGenerator3D::sync() { return; } - baking_navmesh_mutex.lock(); - generator_task_mutex.lock(); + MutexLock baking_navmesh_lock(baking_navmesh_mutex); + MutexLock generator_task_lock(generator_task_mutex); LocalVector finished_task_ids; @@ -124,9 +124,6 @@ void NavMeshGenerator3D::sync() { for (WorkerThreadPool::TaskID finished_task_id : finished_task_ids) { generator_tasks.erase(finished_task_id); } - - generator_task_mutex.unlock(); - baking_navmesh_mutex.unlock(); } void NavMeshGenerator3D::cleanup() { @@ -223,7 +220,7 @@ void NavMeshGenerator3D::bake_from_source_geometry_data_async(Refnavigation_mesh = p_navigation_mesh; generator_task->source_geometry_data = p_source_geometry_data; @@ -231,7 +228,6 @@ void NavMeshGenerator3D::bake_from_source_geometry_data_async(Refstatus = NavMeshGeneratorTask3D::TaskStatus::BAKING_STARTED; generator_task->thread_task_id = WorkerThreadPool::get_singleton()->add_native_task(&NavMeshGenerator3D::generator_thread_bake, generator_task, NavMeshGenerator3D::baking_use_high_priority_threads, SNAME("NavMeshGeneratorBake3D")); generator_tasks.insert(generator_task->thread_task_id, generator_task); - generator_task_mutex.unlock(); } bool NavMeshGenerator3D::is_baking(Ref p_navigation_mesh) {