Commit ef1b9648 authored by Bernhard Kölbl's avatar Bernhard Kölbl Committed by Alexandre Julliard

winegstreamer: Leave media source critical section before unlocking workqueue.

Today, if media_source_Shutdown is called around the same time as a work item is put on the async_commands_queue, we end up in a deadlock if Shutdown enters media source's cs first, as it waits for the queue's callback to finish, which, in turn, waits for the object's cs to be released. To avoid this leave the cs, before unlocking the workqueue, to let any callback on the queue finish running. Signed-off-by: 's avatarBernhard Kölbl <bkoelbl@codeweavers.com>
parent 35cff9ec
......@@ -1570,10 +1570,10 @@ static HRESULT WINAPI media_source_Shutdown(IMFMediaSource *iface)
free(source->descriptors);
free(source->streams);
MFUnlockWorkQueue(source->async_commands_queue);
LeaveCriticalSection(&source->cs);
MFUnlockWorkQueue(source->async_commands_queue);
return S_OK;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment