Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Got rid of some code from writefd_unbuffered() that was only needed
[rsync/rsync.git]
/
io.c
diff --git
a/io.c
b/io.c
index
bdfebaf
..
2dd6d41
100644
(file)
--- a/
io.c
+++ b/
io.c
@@
-574,7
+574,7
@@
static int read_timeout(int fd, char *buf, size_t len)
len -= n;
ret += n;
len -= n;
ret += n;
- if (
io_timeout && fd == sock_f_in
)
+ if (
fd == sock_f_in && (io_timeout || am_generator)
)
last_io = time(NULL);
}
last_io = time(NULL);
}
@@
-665,6
+665,13
@@
void io_end_buffering(void)
}
}
+void maybe_flush_socket(void)
+{
+ if (iobuf_out && iobuf_out_cnt && time(NULL) - last_io >= 5)
+ io_flush(NORMAL_FLUSH);
+}
+
+
void maybe_send_keepalive(void)
{
if (time(NULL) - last_io >= allowed_lull) {
void maybe_send_keepalive(void)
{
if (time(NULL) - last_io >= allowed_lull) {
@@
-1028,11
+1035,6
@@
static void writefd_unbuffered(int fd,char *buf,size_t len)
using_r_fds = 1;
} else
using_r_fds = 0;
using_r_fds = 1;
} else
using_r_fds = 0;
- if (fd != sock_f_out && iobuf_out_cnt && no_flush == 1) {
- FD_SET(sock_f_out, &w_fds);
- if (sock_f_out > maxfd)
- maxfd = sock_f_out;
- }
tv.tv_sec = select_timeout;
tv.tv_usec = 0;
tv.tv_sec = select_timeout;
tv.tv_usec = 0;
@@
-1089,7
+1091,7
@@
static void writefd_unbuffered(int fd,char *buf,size_t len)
total += ret;
if (fd == sock_f_out) {
total += ret;
if (fd == sock_f_out) {
- if (io_timeout)
+ if (io_timeout
|| am_generator
)
last_io = time(NULL);
sleep_for_bwlimit(ret);
}
last_io = time(NULL);
sleep_for_bwlimit(ret);
}