<P>Hi Dmitry,</P>
<P>Are you sure this is usefull.</P>
<P>How can SetEvent cause a deadlock?</P>
<P>Bye,</P>
<P>Christian</P>
<P> </P>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #ff0000 2px solid">> Message du 16/03/04 14:54<BR>> De : Dmitry Timoshkov <DMITRY@BAIKAL.RU><BR>> A : wine-patches@winehq.com<BR>> Copie à : <BR>> Objet : Avoid a possible deadlock when stopping playback<BR>> Hello,<BR>> <BR>> looks like it's a good idea to do the same when signalling hStopEvent.<BR>> <BR>> Changelog:<BR>> Dmitry Timoshkov <DMITRY@CODEWEAVERS.COM><BR>> Avoid a possible deadlock when stopping playback.<BR>> <BR>> --- cvs/hq/wine/dlls/winmm/mciavi/mciavi.c 2004-03-16 18:37:03.000000000 +0800<BR>> +++ wine/dlls/winmm/mciavi/mciavi.c 2004-03-16 19:38:42.000000000 +0800<BR>> @@ -606,7 +606,9 @@ static DWORD MCIAVI_mciStop(UINT wDevID,<BR>> switch (wma->dwStatus) {<BR>> case MCI_MODE_PLAY:<BR>> case MCI_MODE_RECORD:<BR>> + LeaveCriticalSection(&wma->cs);<BR>> SetEvent(wma->hStopEvent);<BR>> + EnterCriticalSection(&wma->cs);<BR>> /* fall through */<BR>> case MCI_MODE_PAUSE:<BR>> /* Since our wave notification callback takes the lock,<BR>> <BR>> <BR>> <BR>> <BR>> </BLOCKQUOTE>