diff options
author | Wayne Davison <wayned@samba.org> | 2010-01-02 10:51:09 -0800 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2010-01-02 10:58:39 -0800 |
commit | 05c36015f79d0d2975f15b08e31ea72825700f11 (patch) | |
tree | 926a7977b092a1b6b30f46edcc7a323df69cf5ce /sender.c | |
parent | e34f43495c0f0ab0e7b01983238f5d6e8988e30b (diff) | |
download | android_external_rsync-05c36015f79d0d2975f15b08e31ea72825700f11.tar.gz android_external_rsync-05c36015f79d0d2975f15b08e31ea72825700f11.tar.bz2 android_external_rsync-05c36015f79d0d2975f15b08e31ea72825700f11.zip |
More --timeout improvements, especially for the receiving side:
- The receiver now sends keep-alive messages to the generator
when it is actively doing work and hasn't sent anything
recently. This ensures that the generator won't timeout
if the receiver is working hard.
- The perform_io() code has improved keep-alive participation.
- Allow the sender to send some keep-alive messages, which
ensures that if it is in a lull, it can probe the socket.
Diffstat (limited to 'sender.c')
-rw-r--r-- | sender.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -43,7 +43,6 @@ extern int inplace; extern int batch_fd; extern int write_batch; extern int file_old_total; -extern BOOL we_send_keepalive_messages; extern struct stats stats; extern struct file_list *cur_flist, *first_flist, *dir_flist; @@ -64,7 +63,7 @@ static struct sum_struct *receive_sums(int f) { struct sum_struct *s; int32 i; - int lull_mod = allowed_lull * 5; + int lull_mod = protocol_version >= 31 ? 0 : allowed_lull * 5; OFF_T offset = 0; if (!(s = new(struct sum_struct))) @@ -105,7 +104,7 @@ static struct sum_struct *receive_sums(int f) s->sums[i].len = s->blength; offset += s->sums[i].len; - if (we_send_keepalive_messages && !(i % lull_mod)) + if (lull_mod && !(i % lull_mod)) maybe_send_keepalive(time(NULL), True); if (DEBUG_GTE(DELTASUM, 3)) { |