EINTR is not a fatal write error

This commit is contained in:
Chris Robinson 2009-10-19 00:33:00 -07:00
parent 1fb58f9f8e
commit a4e3ca933b
2 changed files with 3 additions and 3 deletions

View File

@ -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);

View File

@ -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);