Contents of /trunk/openal/patches/openal-1.9.563-oss.patch
Parent Directory | Revision Log
Revision 941 -
(show annotations)
(download)
Thu Nov 26 12:51:08 2009 UTC (14 years, 10 months ago) by niro
File size: 1091 byte(s)
Thu Nov 26 12:51:08 2009 UTC (14 years, 10 months ago) by niro
File size: 1091 byte(s)
-fixes issues with the oss backend
1 | diff -ur openal-soft-1.9.563.orig/Alc/oss.c openal-soft-1.9.563/Alc/oss.c |
2 | --- openal-soft-1.9.563.orig/Alc/oss.c 2009-09-21 03:41:50.000000000 -0600 |
3 | +++ openal-soft-1.9.563/Alc/oss.c 2009-10-19 01:39:25.326979984 -0600 |
4 | @@ -80,12 +80,12 @@ |
5 | ALCdevice *pDevice = (ALCdevice*)ptr; |
6 | oss_data *data = (oss_data*)pDevice->ExtraData; |
7 | ALint frameSize; |
8 | - int wrote; |
9 | + ssize_t wrote; |
10 | |
11 | frameSize = aluChannelsFromFormat(pDevice->Format) * |
12 | aluBytesFromFormat(pDevice->Format); |
13 | |
14 | - while(!data->killNow && !pDevice->Connected) |
15 | + while(!data->killNow && pDevice->Connected) |
16 | { |
17 | ALint len = data->data_size; |
18 | ALubyte *WritePtr = data->mix_data; |
19 | @@ -96,7 +96,7 @@ |
20 | wrote = write(data->fd, WritePtr, len); |
21 | if(wrote < 0) |
22 | { |
23 | - if(errno != EAGAIN && errno != EWOULDBLOCK) |
24 | + if(errno != EAGAIN && errno != EWOULDBLOCK && errno != EINTR) |
25 | { |
26 | AL_PRINT("write failed: %s\n", strerror(errno)); |
27 | aluHandleDisconnect(pDevice); |