Dmitry Timoshkov wrote:

"Christian Costa" <[EMAIL PROTECTED]> wrote:



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



That's exactly the same case your recent patch has fixed.


My patch was intended to fix a deadlock with the thread of the wave driver not with the async one.
SetEvent causes a reschedule in Wine (since it does a call to the server) that may help avoiding a deadlock
but this only hides the problem.


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.



Do you have a test app?

BTW, I've found more wave calls to "protect", will send a patch. :-)

Bye,
Christian





Reply via email to