Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improved the differentiation of the transmit flags from the live flags
[rsync/rsync.git]
/
cleanup.c
diff --git
a/cleanup.c
b/cleanup.c
index
2a85083
..
3e85d4e
100644
(file)
--- a/
cleanup.c
+++ b/
cleanup.c
@@
-26,7
+26,7
@@
* shutdown() of socket connections. This eliminates the abortive
* TCP RST sent by a Winsock-based system when the close() occurs.
**/
* shutdown() of socket connections. This eliminates the abortive
* TCP RST sent by a Winsock-based system when the close() occurs.
**/
-void close_all()
+void close_all(
void
)
{
#ifdef SHUTDOWN_ALL_SOCKETS
int max_fd;
{
#ifdef SHUTDOWN_ALL_SOCKETS
int max_fd;
@@
-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);
}
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) {
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);
}
if (code) log_exit(code, file, line);