aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/oss.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/oss.c')
-rw-r--r--Alc/backends/oss.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Alc/backends/oss.c b/Alc/backends/oss.c
index ba11faf0..0ed49517 100644
--- a/Alc/backends/oss.c
+++ b/Alc/backends/oss.c
@@ -102,7 +102,9 @@ static ALuint OSSProc(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;
}
@@ -135,7 +137,9 @@ static ALuint OSSCaptureProc(ALvoid *ptr)
if(amt < 0)
{
ERR("read failed: %s\n", strerror(errno));
+ ALCdevice_Lock(Device);
aluHandleDisconnect(Device);
+ ALCdevice_Unlock(Device);
break;
}
if(amt == 0)