From e5107b2bd4b6167a39e4574769a0d992082296d5 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Sat, 12 Jan 2008 14:44:17 +0000 Subject: deal correct with errno --- lib/base/buffer.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/base/buffer.cpp') diff --git a/lib/base/buffer.cpp b/lib/base/buffer.cpp index 9839b3e8..3a0a6a3d 100644 --- a/lib/base/buffer.cpp +++ b/lib/base/buffer.cpp @@ -127,8 +127,11 @@ int eIOBuffer::fromfile(int fd, int len) tc=allocationsize-buffer.back().len; r=::read(fd, buffer.back().data+buffer.back().len, tc); buffer.back().len+=r; - if (r < 0 && errno != EWOULDBLOCK ) - eDebug("couldn't read: %m"); + if (r < 0) + { + if (errno != EWOULDBLOCK && errno != EBUSY && errno != EINTR) + eDebug("couldn't read: %m"); + } else { len-=r; @@ -155,7 +158,7 @@ int eIOBuffer::tofile(int fd, int len) w=::write(fd, buffer.front().data+ptr, tc); if (w < 0) { - if (errno != EWOULDBLOCK) + if (errno != EWOULDBLOCK && errno != EBUSY && errno != EINTR) eDebug("write: %m"); w=0; } -- cgit v1.2.3