http://bugs.winehq.org/show_bug.cgi?id=28023
--- Comment #6 from Jörg Höhle hoehle@users.sourceforge.net 2012-01-18 16:18:48 CST --- When I'll be back at my Mac, I'll investigate whether the cause of deadlocks truly is OSSpinLock in ca_in/out_buffer_cb. Then I'll switch to InterlockedPushEntrySList (OSAtomicFifoDequeue is only in MacOS 10.7) and use EnterCriticalSection for the rest of the code.
Any other idea?
This would also get rid of the anti-pattern IMHO OSSpinLockUnlock(&This->lock); sc = AudioQueueFlush(This->aqueue); Readers of wine-devel will remember that I've criticized use of mid-function LeaveCS; Wait; EnterCS. Don't release a lock mid-way. http://www.winehq.org/pipermail/wine-devel/2011-June/090616.html