X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/654175798bdbdd6403e10c8fa74e8586b3612ea1..1f5c6343e6a3d55689073f60e71fd56cab42f89d:/io.c diff --git a/io.c b/io.c index 71911408..9e2d3790 100644 --- a/io.c +++ b/io.c @@ -112,15 +112,6 @@ static int read_timeout(int fd, char *buf, int len) continue; } - if (n == -1 && - (errno == EAGAIN || errno == EWOULDBLOCK)) { - /* this shouldn't happen, if it does then - sleep for a short time to prevent us - chewing too much CPU */ - u_sleep(100); - continue; - } - if (n == 0) { if (eof_error) { rprintf(FERROR,"unexpected EOF in read_timeout\n"); @@ -333,7 +324,6 @@ static void writefd_unbuffered(int fd,char *buf,int len) int fd_count, count; struct timeval tv; int reading=0; - int blocked=0; no_flush++; @@ -371,25 +361,18 @@ static void writefd_unbuffered(int fd,char *buf,int len) } if (FD_ISSET(fd, &w_fds)) { - int n = (len-total)>>blocked; + int n = len-total; int ret = write(fd,buf+total,n?n:1); if (ret == -1 && errno == EINTR) { continue; } - if (ret == -1 && - (errno == EAGAIN || errno == EWOULDBLOCK)) { - blocked++; - continue; - } - if (ret <= 0) { rprintf(FERROR,"erroring writing %d bytes - exiting\n", len); exit_cleanup(RERR_STREAMIO); } - blocked = 0; total += ret; if (io_timeout) @@ -538,7 +521,7 @@ void io_printf(int fd, const char *format, ...) int len; va_start(ap, format); - len = vslprintf(buf, sizeof(buf)-1, format, ap); + len = vslprintf(buf, sizeof(buf), format, ap); va_end(ap); if (len < 0) exit_cleanup(RERR_STREAMIO);