Module: wine Branch: master Commit: 5dcdb4aba3090794639c8988842898de70308597 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5dcdb4aba3090794639c898884...
Author: Alexandre Julliard julliard@winehq.org Date: Mon Feb 2 16:21:25 2009 +0100
ntoskrnl.exe: Correctly remove the vectored exception handler.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index a62f02a..0dc9aaf 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -1166,17 +1166,18 @@ PVOID WINAPI MmGetSystemRoutineAddress(PUNICODE_STRING SystemRoutineName) */ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved ) { + static void *handler; LARGE_INTEGER count;
switch(reason) { case DLL_PROCESS_ATTACH: DisableThreadLibraryCalls( inst ); - RtlAddVectoredExceptionHandler( TRUE, vectored_handler ); + handler = RtlAddVectoredExceptionHandler( TRUE, vectored_handler ); KeQueryTickCount( &count ); /* initialize the global KeTickCount */ break; case DLL_PROCESS_DETACH: - RtlRemoveVectoredExceptionHandler( vectored_handler ); + RtlRemoveVectoredExceptionHandler( handler ); break; } return TRUE;