summaryrefslogtreecommitdiff
path: root/receiver.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-01-24 11:20:25 +0000
committerAndrew Tridgell <tridge@samba.org>2000-01-24 11:20:25 +0000
commit6957ae33a931950d03cbba0d0cb78be1920f26f3 (patch)
treec72209b8851f00c733b352cdc983bcc297a9fe2e /receiver.c
parent8a5d6bba0921ed8a2c931316d8fcae0b05b9ed2f (diff)
downloadrsync-6957ae33a931950d03cbba0d0cb78be1920f26f3.tar.gz
moved file deletion to before the fork() to prevent a race condition
pointed out by byrnes@curl.com
Diffstat (limited to 'receiver.c')
-rw-r--r--receiver.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/receiver.c b/receiver.c
index 20afb4fb..6647c68a 100644
--- a/receiver.c
+++ b/receiver.c
@@ -102,7 +102,7 @@ static void delete_one(struct file_struct *f)
/* this deletes any files on the receiving side that are not present
on the sending side. For version 1.6.4 I have changed the behaviour
to match more closely what most people seem to expect of this option */
-static void delete_files(struct file_list *flist)
+void delete_files(struct file_list *flist)
{
struct file_list *local_file_list;
int i, j;
@@ -316,12 +316,6 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen)
rprintf(FINFO,"recv_files(%d) starting\n",flist->count);
}
- if (!delete_after) {
- if (recurse && delete_mode && !local_name && flist->count>0) {
- delete_files(flist);
- }
- }
-
while (1) {
cleanup_disable();