diff options
author | Wayne Davison <wayned@samba.org> | 2009-10-29 17:35:50 -0700 |
---|---|---|
committer | Wayne Davison <wayned@samba.org> | 2009-10-29 17:35:54 -0700 |
commit | fe16d9a67db9aeaa424bd35976eefa2a11861a3b (patch) | |
tree | 29907197cc702c4d2de265ad6a50cc172038302f /sender.c | |
parent | 23a0d1e200c7f23c4d8ca236f807c253a666009a (diff) | |
download | rsync-fe16d9a67db9aeaa424bd35976eefa2a11861a3b.tar.gz |
Fix a hang when dealing with really large numbers of files
in an incremental recursion scan.
Diffstat (limited to 'sender.c')
-rw-r--r-- | sender.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -42,6 +42,7 @@ extern int make_backups; extern int inplace; extern int batch_fd; extern int write_batch; +extern int file_old_total; extern struct stats stats; extern struct file_list *cur_flist, *first_flist, *dir_flist; @@ -197,8 +198,11 @@ void send_files(int f_in, int f_out) end_progress(0); } if (inc_recurse && first_flist) { + file_old_total -= first_flist->used; flist_free(first_flist); if (first_flist) { + if (first_flist == cur_flist) + file_old_total = cur_flist->used; write_ndx(f_out, NDX_DONE); continue; } |