Module: wine Branch: master Commit: 9150071b34a666d6618794f13760c5bcab1a033e URL: https://gitlab.winehq.org/wine/wine/-/commit/9150071b34a666d6618794f13760c5b...
Author: Brendan Shanks bshanks@codeweavers.com Date: Tue Oct 11 13:50:34 2022 -0700
kernel32: Remove shared heap functionality.
---
dlls/kernel32/heap.c | 66 ++-------------------------------------------------- 1 file changed, 2 insertions(+), 64 deletions(-)
diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c index a2910688e44..1c1e6b05f25 100644 --- a/dlls/kernel32/heap.c +++ b/dlls/kernel32/heap.c @@ -41,57 +41,9 @@
WINE_DEFAULT_DEBUG_CHANNEL(globalmem);
-/* address where we try to map the system heap */ -#define SYSTEM_HEAP_BASE ((void*)0x80000000) -#define SYSTEM_HEAP_SIZE 0x1000000 /* Default heap size = 16Mb */ - -static HANDLE systemHeap; /* globally shared heap */ - BOOLEAN WINAPI RtlGetUserInfoHeap( HANDLE handle, ULONG flags, void *ptr, void **user_value, ULONG *user_flags ); BOOLEAN WINAPI RtlSetUserValueHeap( HANDLE handle, ULONG flags, void *ptr, void *user_value );
-/*********************************************************************** - * HEAP_CreateSystemHeap - * - * Create the system heap. - */ -static inline HANDLE HEAP_CreateSystemHeap(void) -{ - int created; - void *base; - HANDLE map, event; - - /* create the system heap event first */ - event = CreateEventA( NULL, TRUE, FALSE, "__wine_system_heap_event" ); - - if (!(map = CreateFileMappingA( INVALID_HANDLE_VALUE, NULL, SEC_COMMIT | PAGE_READWRITE, - 0, SYSTEM_HEAP_SIZE, "__wine_system_heap" ))) return 0; - created = (GetLastError() != ERROR_ALREADY_EXISTS); - - if (!(base = MapViewOfFileEx( map, FILE_MAP_ALL_ACCESS, 0, 0, 0, SYSTEM_HEAP_BASE ))) - { - /* pre-defined address not available */ - ERR( "system heap base address %p not available\n", SYSTEM_HEAP_BASE ); - return 0; - } - - if (created) /* newly created heap */ - { - systemHeap = RtlCreateHeap( HEAP_SHARED, base, SYSTEM_HEAP_SIZE, - SYSTEM_HEAP_SIZE, NULL, NULL ); - SetEvent( event ); - } - else - { - /* wait for the heap to be initialized */ - WaitForSingleObject( event, INFINITE ); - systemHeap = base; - } - CloseHandle( map ); - return systemHeap; -} - - /*********************************************************************** * HeapCreate (KERNEL32.@) * @@ -108,17 +60,8 @@ HANDLE WINAPI HeapCreate( ) { HANDLE ret;
- if ( flags & HEAP_SHARED ) - { - if (!systemHeap) HEAP_CreateSystemHeap(); - else WARN( "Shared Heap requested, returning system heap.\n" ); - ret = systemHeap; - } - else - { - ret = RtlCreateHeap( flags, NULL, maxSize, initialSize, NULL, NULL ); - if (!ret) SetLastError( ERROR_NOT_ENOUGH_MEMORY ); - } + ret = RtlCreateHeap( flags, NULL, maxSize, initialSize, NULL, NULL ); + if (!ret) SetLastError( ERROR_NOT_ENOUGH_MEMORY ); return ret; }
@@ -134,11 +77,6 @@ HANDLE WINAPI HeapCreate( */ BOOL WINAPI HeapDestroy( HANDLE heap /* [in] Handle of heap */ ) { - if (heap == systemHeap) - { - WARN( "attempt to destroy system heap, returning TRUE!\n" ); - return TRUE; - } if (!RtlDestroyHeap( heap )) return TRUE; SetLastError( ERROR_INVALID_HANDLE ); return FALSE;