Use ftruncate() at the end of a --sparse file.
[rsync/rsync.git] / sender.c
index bf6e7b4..600ad84 100644 (file)
--- a/sender.c
+++ b/sender.c
@@ -63,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)))
@@ -104,8 +104,8 @@ static struct sum_struct *receive_sums(int f)
                        s->sums[i].len = s->blength;
                offset += s->sums[i].len;
 
-               if (allowed_lull && !(i % lull_mod))
-                       maybe_send_keepalive();
+               if (lull_mod && !(i % lull_mod))
+                       maybe_send_keepalive(time(NULL), True);
 
                if (DEBUG_GTE(DELTASUM, 3)) {
                        rprintf(FINFO,