diff --git a/patches/ntdll-CriticalSection/0003-ntdll-Use-fast-CS-functions-for-heap-locking.patch b/patches/ntdll-CriticalSection/0003-ntdll-Use-fast-CS-functions-for-heap-locking.patch index 7d8f289a..38f3c936 100644 --- a/patches/ntdll-CriticalSection/0003-ntdll-Use-fast-CS-functions-for-heap-locking.patch +++ b/patches/ntdll-CriticalSection/0003-ntdll-Use-fast-CS-functions-for-heap-locking.patch @@ -1,14 +1,14 @@ -From 42ca0134ae551e938cb79b3a818231ed0fc30745 Mon Sep 17 00:00:00 2001 +From 6fbc3bae354dec9fdd4a9a4e3e3a76340b66fd3f Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 5 Aug 2017 03:39:23 +0200 Subject: [PATCH] ntdll: Use fast CS functions for heap locking. --- - dlls/ntdll/heap.c | 23 +++++++++++++++++++---- - 1 file changed, 19 insertions(+), 4 deletions(-) + dlls/ntdll/heap.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c -index 40c317417ce..93aeadaa1ba 100644 +index 40c317417ce..60185aac2c6 100644 --- a/dlls/ntdll/heap.c +++ b/dlls/ntdll/heap.c @@ -469,13 +469,13 @@ static inline ULONG heap_get_flags( const struct heap *heap, ULONG flags ) @@ -39,44 +39,33 @@ index 40c317417ce..93aeadaa1ba 100644 } else if (!addr) { -@@ -1441,9 +1441,15 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE handle ) +@@ -1441,9 +1441,9 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE handle ) if (heap == process_heap) return handle; /* cannot delete the main process heap */ /* remove it from the per-process list */ -+<<<<<<< HEAD - RtlEnterCriticalSection( &process_heap->cs ); +- RtlEnterCriticalSection( &process_heap->cs ); ++ enter_critical_section( &process_heap->cs ); list_remove( &heap->entry ); - RtlLeaveCriticalSection( &process_heap->cs ); -+======= -+ enter_critical_section( &processHeap->cs ); -+ list_remove( &heapPtr->entry ); -+ leave_critical_section( &processHeap->cs ); -+>>>>>>> 7dd6cd87394 (ntdll: Use fast CS functions for heap locking.) +- RtlLeaveCriticalSection( &process_heap->cs ); ++ leave_critical_section( &process_heap->cs ); heap->cs.DebugInfo->Spare[0] = 0; RtlDeleteCriticalSection( &heap->cs ); -@@ -1938,15 +1944,24 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps ) +@@ -1938,7 +1938,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps ) ULONG total = 1; /* main heap */ struct list *ptr; -+<<<<<<< HEAD - RtlEnterCriticalSection( &process_heap->cs ); +- RtlEnterCriticalSection( &process_heap->cs ); ++ enter_critical_section( &process_heap->cs ); LIST_FOR_EACH( ptr, &process_heap->entry ) total++; -+======= -+ enter_critical_section( &processHeap->cs ); -+ LIST_FOR_EACH( ptr, &processHeap->entry ) total++; -+>>>>>>> 7dd6cd87394 (ntdll: Use fast CS functions for heap locking.) if (total <= count) { - *heaps++ = process_heap; +@@ -1946,7 +1946,7 @@ ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps ) LIST_FOR_EACH( ptr, &process_heap->entry ) *heaps++ = LIST_ENTRY( ptr, struct heap, entry ); } -+<<<<<<< HEAD - RtlLeaveCriticalSection( &process_heap->cs ); -+======= -+ leave_critical_section( &processHeap->cs ); -+>>>>>>> 7dd6cd87394 (ntdll: Use fast CS functions for heap locking.) +- RtlLeaveCriticalSection( &process_heap->cs ); ++ leave_critical_section( &process_heap->cs ); return total; }