Module: wine Branch: master Commit: 7e14df06f11a0f661fec497ea25c16700eac50a1 URL: https://source.winehq.org/git/wine.git/?a=commit;h=7e14df06f11a0f661fec497ea...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Jun 24 16:25:21 2019 +0200
ntoskrnl.exe: Implement ExDeletePagedLookasideList.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntoskrnl.exe/ntoskrnl.c | 49 +++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index be8a10a..79c45c7 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2020,29 +2020,6 @@ NTSTATUS WINAPI ExCreateCallback(PCALLBACK_OBJECT *obj, POBJECT_ATTRIBUTES attr,
/*********************************************************************** - * ExDeleteNPagedLookasideList (NTOSKRNL.EXE.@) - */ -void WINAPI ExDeleteNPagedLookasideList( PNPAGED_LOOKASIDE_LIST lookaside ) -{ - void *entry; - - TRACE("(%p)\n", lookaside); - - while ((entry = RtlInterlockedPopEntrySList(&lookaside->L.u.ListHead))) - lookaside->L.u5.FreeEx(entry, (LOOKASIDE_LIST_EX*)lookaside); -} - - -/*********************************************************************** - * ExDeletePagedLookasideList (NTOSKRNL.EXE.@) - */ -void WINAPI ExDeletePagedLookasideList( PPAGED_LOOKASIDE_LIST lookaside ) -{ - FIXME("(%p) stub\n", lookaside); -} - - -/*********************************************************************** * ExFreePool (NTOSKRNL.EXE.@) */ void WINAPI ExFreePool( void *ptr ) @@ -2112,6 +2089,32 @@ void WINAPI ExInitializePagedLookasideList(PPAGED_LOOKASIDE_LIST lookaside, initialize_lookaside_list( &lookaside->L, allocate, free, PagedPool | flags, size, tag ); }
+static void delete_lookaside_list( GENERAL_LOOKASIDE *lookaside ) +{ + void *entry; + while ((entry = RtlInterlockedPopEntrySList(&lookaside->u.ListHead))) + lookaside->u5.FreeEx(entry, (LOOKASIDE_LIST_EX*)lookaside); +} + +/*********************************************************************** + * ExDeleteNPagedLookasideList (NTOSKRNL.EXE.@) + */ +void WINAPI ExDeleteNPagedLookasideList( PNPAGED_LOOKASIDE_LIST lookaside ) +{ + TRACE( "%p\n", lookaside ); + delete_lookaside_list( &lookaside->L ); +} + + +/*********************************************************************** + * ExDeletePagedLookasideList (NTOSKRNL.EXE.@) + */ +void WINAPI ExDeletePagedLookasideList( PPAGED_LOOKASIDE_LIST lookaside ) +{ + TRACE( "%p\n", lookaside ); + delete_lookaside_list( &lookaside->L ); +} + /*********************************************************************** * ExInitializeZone (NTOSKRNL.EXE.@) */