X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/2836ee9b0261607dd9d3b6d7f605394386b0a93b..17a1676976deacb11cbd064f3de0032c7a381069:/support/savetransfer.c diff --git a/support/savetransfer.c b/support/savetransfer.c index bec6c068..808a6f25 100644 --- a/support/savetransfer.c +++ b/support/savetransfer.c @@ -7,20 +7,13 @@ * -o Save the output coming from PROGRAM to the OUTPUT_FILE * * If you want to capture the flow of data for an rsync command, use one of - * the following commands (the first two are push commands, the last two are - * pull commands): + * the following commands (the resulting files should be identical): * - * rsync -av --rsh="savetransfer -i /tmp/from.sender ssh" - * --rsync-path="savetransfer -i /tmp/to.receiver rsync" FILES HOST:DEST + * rsync -av --rsh="savetransfer -i /tmp/to.server ssh" + * --rsync-path="savetransfer -i /tmp/from.client rsync" SOURCE DEST * - * rsync -av --rsh="savetransfer -o /tmp/to.sender ssh" - * --rsync-path="savetransfer -o /tmp/from.generator rsync" FILES HOST:DEST - * - * rsync -av --rsh="savetransfer -i /tmp/from.generator ssh" - * --rsync-path="savetransfer -i /tmp/to.sender rsync" HOST:FILES DEST - * - * rsync -av --rsh="savetransfer -o /tmp/to.receiver ssh" - * --rsync-path="savetransfer -o /tmp/from.sender rsync" HOST:FILES DEST + * rsync -av --rsh="savetransfer -o /tmp/from.server ssh" + * --rsync-path="savetransfer -o /tmp/to.client rsync" SOURCE DEST * * Note that this program aborts after 30 seconds of inactivity, so you'll need * to change it if that is not enough dead time for your transfer. Also, some @@ -34,6 +27,10 @@ #define TIMEOUT_SECONDS 30 +#ifdef HAVE_SIGACTION +static struct sigaction sigact; +#endif + void run_program(char **command); char buf[4096]; @@ -71,11 +68,11 @@ main(int argc, char *argv[]) } set_blocking(fd_file); - signal(SIGPIPE, SIG_IGN); + SIGACTION(SIGPIPE, SIG_IGN); run_program(argv + 1); -#if HAVE_SETMODE && O_BINARY +#if defined HAVE_SETMODE && O_BINARY setmode(STDIN_FILENO, O_BINARY); setmode(STDOUT_FILENO, O_BINARY); #endif