[PATCH 1/2] winmm: Avoid using SuspendThread, it can hang Wine. (try 2)

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Fri Feb 10 03:45:24 CST 2012


Hi,

this Fixes bug #28388
It's good to have this fixed, as it would cause random hangs and
people including myself to complain that Wine wouldn't even generate a backtrace!

Introducing a loop causes reindentation.  I choose not to reindent
the large comment block such that git-blame preserves ownership
and deleted the one comment including gross language that would
otherwise become blamed on me.

Since I take ownership, I eliminated
	lpMidiHdr->dwFlags |= MHDR_INQUEUE;
	lpMidiHdr->dwFlags &= ~MHDR_DONE;
that the MSM_HEADER supplier already set.
Actually, the winmm/midi.c tests indicate that it's really the w9x player
that sets MHDR_ISSTREAM. It is not always set when w9x:midiStreamOut returns.
For consistency, Wine behaves like machines past w9x/me here.

Regards,
	Jörg Höhle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-winmm-Avoid-using-SuspendThread-it-can-hang-Wine.patch
Type: application/octet-stream
Size: 10970 bytes
Desc: 0001-winmm-Avoid-using-SuspendThread-it-can-hang-Wine.patch
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120210/d43d6b60/attachment.obj>


More information about the wine-patches mailing list