From b05c2dfbc2ec3924cdca6fbc83e339e4ceec230a Mon Sep 17 00:00:00 2001
From: Marc-Aurel Zent <mzent@codeweavers.com>
Date: Mon, 2 Dec 2024 16:09:32 +0100
Subject: [PATCH] server: Do not suspend mach task in write_process_memory.

---
 server/mach.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/server/mach.c b/server/mach.c
index 16abc3f56fb..1dca47cd5af 100644
--- a/server/mach.c
+++ b/server/mach.c
@@ -440,12 +440,6 @@ int write_process_memory( struct process *process, client_ptr_t ptr, data_size_t
     aligned_address = (mach_vm_address_t)(ptr - offset);
     aligned_size = (size + offset + page_size - 1) / page_size * page_size;
 
-    if ((ret = task_suspend( process_port )) != KERN_SUCCESS)
-    {
-        mach_set_error( ret );
-        return 0;
-    }
-
     ret = mach_vm_read( process_port, aligned_address, aligned_size, &task_mem, &bytes_read );
     if (ret != KERN_SUCCESS)
     {
@@ -489,13 +483,11 @@ int write_process_memory( struct process *process, client_ptr_t ptr, data_size_t
         mach_vm_deallocate( mach_task_self(), task_mem, bytes_read );
         /* restore protection */
         mach_vm_protect( process_port, aligned_address, aligned_size, 0, info.protection );
-        task_resume( process_port );
         return 1;
     }
 
 failed:
     if (task_mem) mach_vm_deallocate( mach_task_self(), task_mem, bytes_read );
-    task_resume( process_port );
     return 0;
 }
 
-- 
GitLab