X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fbase%2Fbuffer.cpp;fp=lib%2Fbase%2Fbuffer.cpp;h=3a0a6a3db239239345c3b109165ef8210d821322;hb=e5107b2bd4b6167a39e4574769a0d992082296d5;hp=9839b3e8536597a7f3cf9c894ddfe09e3c7d6762;hpb=e74488aadbdfd34aea53166c9447016f3fa3ac29;p=vuplus_dvbapp diff --git a/lib/base/buffer.cpp b/lib/base/buffer.cpp index 9839b3e..3a0a6a3 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; }