From fcd8a8f447f9774faeb2e1b31cea3d09d8507025 Mon Sep 17 00:00:00 2001 From: Francois Gouget Date: Thu, 17 Nov 2011 09:53:39 +0100 Subject: [PATCH] pdh: Delete the static critical section when unloading the dll. --- dlls/pdh/pdh_main.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/dlls/pdh/pdh_main.c b/dlls/pdh/pdh_main.c index bdf83a94792..69f0d71d4df 100644 --- a/dlls/pdh/pdh_main.c +++ b/dlls/pdh/pdh_main.c @@ -85,12 +85,16 @@ static inline WCHAR *pdh_strdup_aw( const char *src ) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { TRACE("(0x%p, %d, %p)\n",hinstDLL,fdwReason,lpvReserved); - - if (fdwReason == DLL_WINE_PREATTACH) return FALSE; /* prefer native version */ - - if (fdwReason == DLL_PROCESS_ATTACH) + switch (fdwReason) { - DisableThreadLibraryCalls( hinstDLL ); + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); + break; + case DLL_PROCESS_DETACH: + DeleteCriticalSection(&pdh_handle_cs); + break; } return TRUE; -- 2.11.4.GIT