http://bugs.winehq.org/show_bug.cgi?id=28413
--- Comment #9 from Jörg Höhle hoehle@users.sourceforge.net 2011-10-28 02:37:53 CDT --- If you look through git history, you'll notice that I once basically reverted a patch that called waveOutReset from another thread. Witness bug #9026, comment #22. waveOutReset had the obvious benefit to cancel fast, but there were issues caused by calling winmm:waveOutReset simultaneously with winmm:waveOutClose from another thread. I don't think your recent rewrite of parts of winmm has improved things in that area, does it? IOW, I believe it's still unsafe in Wine to call winmm:wave* or midi*, e.g. GetPosition or Reset on a handle that's being closed (or may be closed anytime) by another thread.