[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: icecream
From: Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date: 2009-04-08 20:46:45
Message-ID: 1239223605.045461.18563.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 951280 by osterfeld:
also check for EAGAIN (needed on OS X)
M +1 -1 client/local.cpp
M +1 -1 daemon/main.cpp
M +1 -1 daemon/serve.cpp
M +2 -2 daemon/workit.cpp
--- trunk/icecream/client/local.cpp #951279:951280
@@ -244,7 +244,7 @@
}
if (r == 0)
break;
- if ( r < 0 && errno != EINTR)
+ if ( r < 0 && errno != EINTR && errno != EAGAIN )
break;
}
colorify_output(s_ccout);
--- trunk/icecream/daemon/main.cpp #951279:951280
@@ -1159,7 +1159,7 @@
off_t off = 0;
while ( len ) {
ssize_t bytes = write( client->pipe_to_child, fcmsg->buffer + off, len );
- if ( bytes < 0 && errno == EINTR )
+ if ( bytes < 0 && ( errno == EINTR || errno == EAGAIN ) )
continue;
if ( bytes == -1 ) {
--- trunk/icecream/daemon/serve.cpp #951279:951280
@@ -214,7 +214,7 @@
ssize_t bytes = read(obj_fd, buffer, sizeof(buffer));
if ( bytes < 0 )
{
- if ( errno == EINTR )
+ if ( errno == EINTR || errno == EAGAIN )
continue;
throw myexception( EXIT_DISTCC_FAILED );
}
--- trunk/icecream/daemon/workit.cpp #951279:951280
@@ -316,7 +316,7 @@
off_t off = 0;
while ( len ) {
ssize_t bytes = write( sock_in[1], fcmsg->buffer + off, len );
- if ( bytes < 0 && errno == EINTR )
+ if ( bytes < 0 && ( errno == EINTR || errno == EAGAIN ) )
continue;
write(job_in_fd, fcmsg->buffer + off, bytes);
@@ -370,7 +370,7 @@
{
char resultByte;
ssize_t n = ::read(main_sock[0], &resultByte, 1);
- if (n == -1 && errno == EINTR)
+ if (n == -1 && ( errno == EINTR || errno == EAGAIN ) )
continue; // Ignore
if (n == 1)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic