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
Changed XFLG_NO_PREFIXES to XFLG_WORDS_ONLY.
[rsync/rsync.git]
/
socket.c
diff --git
a/socket.c
b/socket.c
index
772bb92
..
264c532
100644
(file)
--- a/
socket.c
+++ b/
socket.c
@@
-299,9
+299,14
@@
int open_socket_out(char *host, int port, const char *bind_address,
int open_socket_out_wrapped(char *host, int port, const char *bind_address,
int af_hint)
{
int open_socket_out_wrapped(char *host, int port, const char *bind_address,
int af_hint)
{
- char *prog;
+ char *prog
= getenv("RSYNC_CONNECT_PROG")
;
- if ((prog = getenv("RSYNC_CONNECT_PROG")) != NULL)
+ if (verbose >= 2) {
+ rprintf(FINFO, "%sopening tcp connection to %s port %d\n",
+ prog ? "Using RSYNC_CONNECT_PROG instead of " : "",
+ host, port);
+ }
+ if (prog)
return sock_exec(prog);
return open_socket_out(host, port, bind_address, af_hint);
}
return sock_exec(prog);
return open_socket_out(host, port, bind_address, af_hint);
}
@@
-431,10
+436,10
@@
int is_a_socket(int fd)
static RETSIGTYPE sigchld_handler(UNUSED(int val))
{
static RETSIGTYPE sigchld_handler(UNUSED(int val))
{
- signal(SIGCHLD, sigchld_handler);
#ifdef WNOHANG
while (waitpid(-1, NULL, WNOHANG) > 0) {}
#endif
#ifdef WNOHANG
while (waitpid(-1, NULL, WNOHANG) > 0) {}
#endif
+ signal(SIGCHLD, sigchld_handler);
}
}
@@
-769,18
+774,14
@@
int sock_exec(const char *prog)
strerror(errno));
return -1;
}
strerror(errno));
return -1;
}
+ if (verbose >= 2)
+ rprintf(FINFO, "Running socket program: \"%s\"\n", prog);
if (fork() == 0) {
close(fd[0]);
close(0);
close(1);
dup(fd[1]);
dup(fd[1]);
if (fork() == 0) {
close(fd[0]);
close(0);
close(1);
dup(fd[1]);
dup(fd[1]);
- if (verbose > 3) {
- /* Can't use rprintf because we've forked. */
- fprintf(stderr,
- RSYNC_NAME ": execute socket program \"%s\"\n",
- prog);
- }
exit(system(prog));
}
close(fd[1]);
exit(system(prog));
}
close(fd[1]);