X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/18d6b679af4572c7559b3a6e1d4dae0c49236b3b..ef732c3b5400bc2375f48d5201a918342362738e:/cleanup.c diff --git a/cleanup.c b/cleanup.c index 49d18307..3e85d4e1 100644 --- a/cleanup.c +++ b/cleanup.c @@ -118,7 +118,7 @@ void _exit_cleanup(int code, const char *file, int line) if (cleanup_fd2 != -1) close(cleanup_fd2); finish_transfer(cleanup_new_fname, fname, cleanup_file); } - io_flush(); + io_flush(FULL_FLUSH); if (cleanup_fname) do_unlink(cleanup_fname); if (code) { @@ -131,8 +131,11 @@ void _exit_cleanup(int code, const char *file, int line) } } - if (code == 0 && (io_error || log_got_error)) { - code = RERR_PARTIAL; + if (code == 0) { + if ((io_error & ~IOERR_VANISHED) || log_got_error) + code = RERR_PARTIAL; + else if (io_error) + code = RERR_VANISHED; } if (code) log_exit(code, file, line);