[PATCH 4/8] ntdll: Respect HEAP_NO_SERIALIZE flag in HeapLock / HeapUnlock.
Rémi Bernon
wine at gitlab.winehq.org
Thu May 5 04:43:30 CDT 2022
From: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/kernel32/tests/heap.c | 2 --
dlls/ntdll/heap.c | 4 ++--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/tests/heap.c b/dlls/kernel32/tests/heap.c
index d40549e999b..4f808c8c7e6 100644
--- a/dlls/kernel32/tests/heap.c
+++ b/dlls/kernel32/tests/heap.c
@@ -952,11 +952,9 @@ static void test_HeapCreate(void)
thread_params.flags = 0;
SetEvent( thread_params.start_event );
res = WaitForSingleObject( thread_params.ready_event, 100 );
- todo_wine
ok( !res, "WaitForSingleObject returned %#lx, error %lu\n", res, GetLastError() );
ret = HeapUnlock( heap );
ok( ret, "HeapUnlock failed, error %lu\n", GetLastError() );
- if (res) WaitForSingleObject( thread_params.ready_event, 100 );
ret = HeapLock( heap );
ok( ret, "HeapLock failed, error %lu\n", GetLastError() );
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 89f59440edf..1aa064723a8 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -1992,7 +1992,7 @@ BOOLEAN WINAPI RtlLockHeap( HANDLE heap )
{
HEAP *heapPtr = HEAP_GetPtr( heap );
if (!heapPtr) return FALSE;
- RtlEnterCriticalSection( &heapPtr->cs );
+ heap_lock( heapPtr, 0 );
return TRUE;
}
@@ -2013,7 +2013,7 @@ BOOLEAN WINAPI RtlUnlockHeap( HANDLE heap )
{
HEAP *heapPtr = HEAP_GetPtr( heap );
if (!heapPtr) return FALSE;
- RtlLeaveCriticalSection( &heapPtr->cs );
+ heap_unlock( heapPtr, 0 );
return TRUE;
}
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/38
More information about the wine-devel
mailing list