diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-01-12 14:44:17 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2008-01-12 14:44:17 +0000 |
| commit | e5107b2bd4b6167a39e4574769a0d992082296d5 (patch) | |
| tree | dc175883c353fb58253ac1bf15268919d9e4dd33 /lib/base/buffer.cpp | |
| parent | e74488aadbdfd34aea53166c9447016f3fa3ac29 (diff) | |
| download | enigma2-e5107b2bd4b6167a39e4574769a0d992082296d5.tar.gz enigma2-e5107b2bd4b6167a39e4574769a0d992082296d5.zip | |
deal correct with errno
Diffstat (limited to 'lib/base/buffer.cpp')
| -rw-r--r-- | lib/base/buffer.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
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; } |
