Module: wine Branch: master Commit: 39e12238e95c0e793adae70e187e90a41fab08f8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=39e12238e95c0e793adae70e18...
Author: Francois Gouget fgouget@codeweavers.com Date: Thu Oct 27 12:36:01 2011 +0200
winealsa.drv: Give a name to the mmdevapi critical sections.
Also statically initialize g_sessions_lock.
---
dlls/winealsa.drv/mmdevdrv.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 29c3f72..ac5be34 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -142,6 +142,13 @@ typedef struct _SessionMgr { static HANDLE g_timer_q;
static CRITICAL_SECTION g_sessions_lock; +static CRITICAL_SECTION_DEBUG g_sessions_lock_debug = +{ + 0, 0, &g_sessions_lock, + { &g_sessions_lock_debug.ProcessLocksList, &g_sessions_lock_debug.ProcessLocksList }, + 0, 0, { (DWORD_PTR)(__FILE__ ": g_sessions_lock") } +}; +static CRITICAL_SECTION g_sessions_lock = { &g_sessions_lock_debug, -1, 0, 0, 0, 0 }; static struct list g_sessions = LIST_INIT(g_sessions);
static const WCHAR defaultW[] = {'d','e','f','a','u','l','t',0}; @@ -216,8 +223,6 @@ BOOL WINAPI DllMain(HINSTANCE dll, DWORD reason, void *reserved) g_timer_q = CreateTimerQueue(); if(!g_timer_q) return FALSE; - - InitializeCriticalSection(&g_sessions_lock); }
return TRUE; @@ -586,6 +591,7 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(const char *key, IMMDevice *dev, }
InitializeCriticalSection(&This->lock); + This->lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": ACImpl.lock");
This->parent = dev; IMMDevice_AddRef(This->parent); @@ -632,6 +638,7 @@ static ULONG WINAPI AudioClient_Release(IAudioClient *iface) if(!ref){ IAudioClient_Stop(iface); IMMDevice_Release(This->parent); + This->lock.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&This->lock); snd_pcm_drop(This->pcm_handle); snd_pcm_close(This->pcm_handle); @@ -744,6 +751,7 @@ static AudioSession *create_session(const GUID *guid, IMMDevice *device, list_add_head(&g_sessions, &ret->entry);
InitializeCriticalSection(&ret->lock); + ret->lock.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": AudioSession.lock");
session_init_vols(ret, num_channels);