Commit 46036 introduced a deadlock in audaspace. It happens when leaving audaspace, the OpenALDevice destructor waits for the AUD_openalRunThread thread to exit, but it maybe inside AUD_Reference code. Since OpenALDevice object is inside a AUD_Reference, and now AUD_Reference holds a mutex, we have a deadlock here. This patch tries to solve the problem.
Thanks, Wander Lairson Costa |