diff options
Diffstat (limited to 'Alc/backends/oss.c')
-rw-r--r-- | Alc/backends/oss.c | 4 |
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) |