diff options
author | Chris Robinson <[email protected]> | 2009-10-19 00:33:00 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2009-10-19 00:33:00 -0700 |
commit | a4e3ca933b036102b1aed623015d007869416c7b (patch) | |
tree | 3fc68811f74bc39f8445f54b65937403ff116e4b /Alc | |
parent | 1fb58f9f8e54626036e4bbf09533e653881c118e (diff) |
EINTR is not a fatal write error
Diffstat (limited to 'Alc')
-rw-r--r-- | Alc/oss.c | 4 | ||||
-rw-r--r-- | Alc/solaris.c | 2 |
2 files changed, 3 insertions, 3 deletions
@@ -80,7 +80,7 @@ static ALuint OSSProc(ALvoid *ptr) ALCdevice *pDevice = (ALCdevice*)ptr; oss_data *data = (oss_data*)pDevice->ExtraData; ALint frameSize; - int wrote; + ssize_t wrote; frameSize = aluChannelsFromFormat(pDevice->Format) * aluBytesFromFormat(pDevice->Format); @@ -96,7 +96,7 @@ static ALuint OSSProc(ALvoid *ptr) wrote = write(data->fd, WritePtr, len); if(wrote < 0) { - if(errno != EAGAIN && errno != EWOULDBLOCK) + if(errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) { AL_PRINT("write failed: %s\n", strerror(errno)); aluHandleDisconnect(pDevice); diff --git a/Alc/solaris.c b/Alc/solaris.c index 988a91f0..695f8f86 100644 --- a/Alc/solaris.c +++ b/Alc/solaris.c @@ -71,7 +71,7 @@ static ALuint SolarisProc(ALvoid *ptr) wrote = write(data->fd, WritePtr, len); if(wrote < 0) { - if(errno != EAGAIN && errno != EWOULDBLOCK) + if(errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) { AL_PRINT("write failed: %s\n", strerror(errno)); aluHandleDisconnect(pDevice); |