From 1fb9311d82ff7e591aabb209eb5aaba108efc20e Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Sun, 2 Dec 2012 11:20:20 -0800 Subject: Lock the device before calling aluHandleDisconnect PulseAudio causes an assert if being relocked inside a callback on the worker thread, where aluHandleDisconnect is called. We can assume it's already locked there, so just make sure the device is locked before being calling it. --- Alc/backends/solaris.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Alc/backends/solaris.c') diff --git a/Alc/backends/solaris.c b/Alc/backends/solaris.c index b84bb839..1c781387 100644 --- a/Alc/backends/solaris.c +++ b/Alc/backends/solaris.c @@ -76,7 +76,9 @@ static ALuint SolarisProc(ALvoid *ptr) if(errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) { ERR("write failed: %s\n", strerror(errno)); + ALCdevice_Lock(Device); aluHandleDisconnect(Device); + ALCdevice_Unlock(Device); break; } -- cgit v1.2.3