From 9b55cc9e6fdd33c4c9a11ea21e0683b0952fe666 Mon Sep 17 00:00:00 2001 From: Francois Gouget Date: Mon, 7 Nov 2011 16:52:40 +0100 Subject: [PATCH] winealsa.drv: Delete the g_sessions_lock critical section when unloading the dll. --- dlls/winealsa.drv/mmdevdrv.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 25693c0d9ec..bc1ca9422a4 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -219,12 +219,19 @@ static inline SessionMgr *impl_from_IAudioSessionManager2(IAudioSessionManager2 BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved) { - if(reason == DLL_PROCESS_ATTACH){ + switch (reason) + { + case DLL_PROCESS_ATTACH: g_timer_q = CreateTimerQueue(); if(!g_timer_q) return FALSE; - } + break; + case DLL_PROCESS_DETACH: + g_sessions_lock.DebugInfo->Spare[0] = 0; + DeleteCriticalSection(&g_sessions_lock); + break; + } return TRUE; }