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