[PATCH 1/2] winmm: Avoid using SuspendThread, it can hang Wine.
Hi,
this Fixes bug #28388
I think it is not a good idea to defer this patch until after 1.4.0. Every app using midiStreamOpen eventually calls SuspendThread which is simply a time bomb on a dual core machine. There are many more multi-core machines now, so the situation degrades. Dan Kegel wrote:
With WINEDEBUG=warn+heap, it happens a lot sooner (first run: first try; second run: sixth try).
As noted in the bug report, SuspendThread can hit Wine amid memory management, breaking havoc. Users won't know who to blame for random lock-ups and complain like I did that Wine isn't able to generate a backtrace. Patch 1/2 can be applied stand alone. It gets rid of SuspendThread. It's been a pleasure to use patch 2/2 and hear apps play midiStream music without trouble. I wouldn't mind if you defer that for 1.4.1. After all, this is a feature that has been lacking in Wine for the last 10 years, so people can wait a little more... Regards, Jörg Höhle
Joerg-Cyril.Hoehle(a)t-systems.com writes:
Hi,
this Fixes bug #28388
I think it is not a good idea to defer this patch until after 1.4.0.
Every app using midiStreamOpen eventually calls SuspendThread which is simply a time bomb on a dual core machine. There are many more multi-core machines now, so the situation degrades.
I don't see any apps in that bug report, it's only about a test failure. Do you have real apps that trigger the problem in normal usage? -- Alexandre Julliard julliard(a)winehq.org
I don't see any apps in that bug report, it's only about a test failure. Do you have real apps that trigger the problem in normal usage?
The two apps from #26997 #23756 use midiStream with DCB_CALLBACK_FUNCTION. They need patch 1+2. I've not retested ff7 from bug #9220 which uses midiStream too. The apps that would benefit from patch 1/2 alone are those that use midiStream with one of DCB_NULL, WINDOW or EVENT. I've not investigated which MIDI apps are of the required kind or if they use mcimidi, midiOut directly or midiStream with DCB_FUNCTION. Regards, Jörg Höhle
On 17 February 2012 16:14, <Joerg-Cyril.Hoehle(a)t-systems.com> wrote:
I don't see any apps in that bug report, it's only about a test failure. Do you have real apps that trigger the problem in normal usage?
The two apps from #26997 #23756 use midiStream with DCB_CALLBACK_FUNCTION. They need patch 1+2.
You mean #26697 Alex
participants (3)
-
Alex Bradbury -
Alexandre Julliard -
Joerg-Cyril.Hoehle@t-systems.com