Alexandre Julliard : winmm: Avoid using ReleaseThunkLock from 32-bit code.
Alexandre Julliard
julliard at winehq.org
Thu Dec 24 10:27:19 CST 2009
Module: wine
Branch: master
Commit: 18a7655234728efbf0ba32d7aae2fdf790c9b475
URL: http://source.winehq.org/git/wine.git/?a=commit;h=18a7655234728efbf0ba32d7aae2fdf790c9b475
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Dec 24 12:29:24 2009 +0100
winmm: Avoid using ReleaseThunkLock from 32-bit code.
---
dlls/winmm/winmm.c | 18 ++----------------
1 files changed, 2 insertions(+), 16 deletions(-)
diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c
index 4f3ace1..f5e2af1 100644
--- a/dlls/winmm/winmm.c
+++ b/dlls/winmm/winmm.c
@@ -1713,11 +1713,7 @@ the_end:
static BOOL MMSYSTEM_MidiStream_PostMessage(WINE_MIDIStream* lpMidiStrm, WORD msg, DWORD pmt1, DWORD pmt2)
{
if (PostThreadMessageA(lpMidiStrm->dwThreadID, msg, pmt1, pmt2)) {
- DWORD count;
-
- ReleaseThunkLock(&count);
- WaitForSingleObject(lpMidiStrm->hEvent, INFINITE);
- RestoreThunkLock(count);
+ MsgWaitForMultipleObjects( 1, &lpMidiStrm->hEvent, FALSE, INFINITE, 0 );
} else {
WARN("bad PostThreadMessageA\n");
return FALSE;
@@ -1796,17 +1792,7 @@ MMRESULT WINAPI midiStreamOpen(HMIDISTRM* lphMidiStrm, LPUINT lpuDeviceID,
SetThreadPriority(lpMidiStrm->hThread, THREAD_PRIORITY_TIME_CRITICAL);
/* wait for thread to have started, and for its queue to be created */
- {
- DWORD count;
-
- /* (Release|Restore)ThunkLock() is needed when this method is called from 16 bit code,
- * (meaning the Win16Lock is set), so that it's released and the 32 bit thread running
- * MMSYSTEM_MidiStreamPlayer can acquire Win16Lock to create its queue.
- */
- ReleaseThunkLock(&count);
- WaitForSingleObject(lpMidiStrm->hEvent, INFINITE);
- RestoreThunkLock(count);
- }
+ WaitForSingleObject(lpMidiStrm->hEvent, INFINITE);
TRACE("=> (%u/%d) hMidi=%p ret=%d lpMidiStrm=%p\n",
*lpuDeviceID, lpwm->mld.uDeviceID, *lphMidiStrm, ret, lpMidiStrm);
More information about the wine-cvs
mailing list