X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=ustream-fd.c;fp=ustream-fd.c;h=397ce5dbfd8c488aff663bbbf5a97847d23b2209;hp=93fd501903701e50f82edafa111c730e70001dd9;hb=6c28da1ae203e181eec69c9ebe0c22cb1b0ff399;hpb=e7825661a2a5239c05bf0e250cd0d9c1eed6419d diff --git a/ustream-fd.c b/ustream-fd.c index 93fd501..397ce5d 100644 --- a/ustream-fd.c +++ b/ustream-fd.c @@ -58,17 +58,19 @@ static void ustream_fd_read_pending(struct ustream_fd *sf, bool *more) break; len = read(sf->fd.fd, buf, buflen); - if (!len) { - sf->fd.eof = true; - return; - } - if (len < 0) { if (errno == EINTR) continue; if (errno == EAGAIN) return; + + len = 0; + } + + if (!len) { + sf->fd.eof = true; + return; } ustream_fill_read(s, len);