Jacek Caban : ntoskrnl.exe: Implement ExDeletePagedLookasideList.
Module: wine Branch: master Commit: 7e14df06f11a0f661fec497ea25c16700eac50a1 URL: https://source.winehq.org/git/wine.git/?a=commit;h=7e14df06f11a0f661fec497ea... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Mon Jun 24 16:25:21 2019 +0200 ntoskrnl.exe: Implement ExDeletePagedLookasideList. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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.@) */
participants (1)
-
Alexandre Julliard