Avoid a possible deadlock when stopping playback

Dmitry Timoshkov dmitry at baikal.ru
Tue Mar 16 22:35:50 CST 2004


"Christian Costa" <titan.costa at wanadoo.fr> wrote:

> Are you sure this is usefull.
> How can SetEvent cause a deadlock?

That's exactly the same case your recent patch has fixed.
If the MCI command was sent asynchronously (without MCI_WAIT)
an thread gets created and the command gets executed there.

So, if an app does:
mciSendCommand(MCI_PLAY); // an async thread gets created
and right after that:
mciSendCommand(MCI_STOP);

last command hangs forever.

-- 
Dmitry.




More information about the wine-devel mailing list