summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-01-24 12:23:39 +0000
committerAndrew Tridgell <tridge@samba.org>2000-01-24 12:23:39 +0000
commitcbce490e138d7bbc7bf982496861f093732dfba9 (patch)
tree4c2ba2567cb88a5c5b5adf0f6a573e43c9012b9a
parent74a7f81d5749c9ce8d9b7c284f9378857d0d5d60 (diff)
downloadrsync-cbce490e138d7bbc7bf982496861f093732dfba9.tar.gz
reinstated the MAX_READ_BUFFER code. Its a nasty tradeoff - using lots
of memory vs. ssh bugs. uggh.
-rw-r--r--io.c6
-rw-r--r--rsync.h2
2 files changed, 3 insertions, 5 deletions
diff --git a/io.c b/io.c
index 3930e47e..26b6e4b3 100644
--- a/io.c
+++ b/io.c
@@ -255,9 +255,6 @@ static void read_check(int f)
read_buffer_p = read_buffer;
}
- if (n > MAX_READ_BUFFER/4)
- n = MAX_READ_BUFFER/4;
-
if (read_buffer_p != read_buffer) {
memmove(read_buffer,read_buffer_p,read_buffer_len);
read_buffer_p = read_buffer;
@@ -385,7 +382,8 @@ static void writefd_unbuffered(int fd,char *buf,int len)
fd_count = fd;
if (!no_flush_read) {
- reading = (buffer_f_in != -1);
+ reading = (buffer_f_in != -1) &&
+ (read_buffer_len < MAX_READ_BUFFER);
}
if (reading) {
diff --git a/rsync.h b/rsync.h
index a86baaa4..53cd02a2 100644
--- a/rsync.h
+++ b/rsync.h
@@ -58,7 +58,7 @@
#define CHUNK_SIZE (32*1024)
#define MAX_MAP_SIZE (256*1024)
#define IO_BUFFER_SIZE (4092)
-#define MAX_READ_BUFFER (1024*1024)
+#define MAX_READ_BUFFER (10*1024*1024)
#define MAX_ARGS 1000