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
Clean up prototype.
[rsync/rsync.git]
/
main.c
diff --git
a/main.c
b/main.c
index
ef274c7
..
8aad59c
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-23,8
+23,7
@@
time_t starttime = 0;
time_t starttime = 0;
-struct stats stats;
-
+extern struct stats stats;
extern int verbose;
static void show_malloc_stats(void);
extern int verbose;
static void show_malloc_stats(void);
@@
-231,7
+230,7
@@
static pid_t do_cmd(char *cmd,char *machine,char *user,char *path,int *f_in,int
if (local_server) {
if (read_batch)
create_flist_from_batch(); /* sets batch_flist */
if (local_server) {
if (read_batch)
create_flist_from_batch(); /* sets batch_flist */
- ret = local_child(argc, args, f_in, f_out);
+ ret = local_child(argc, args, f_in, f_out
, child_main
);
} else {
ret = piped_child(args,f_in,f_out);
}
} else {
ret = piped_child(args,f_in,f_out);
}
@@
-493,6
+492,13
@@
static void do_server_recv(int f_in, int f_out, int argc,char *argv[])
}
}
+int child_main(int argc, char *argv[])
+{
+ start_server(STDIN_FILENO, STDOUT_FILENO, argc, argv);
+ return 0;
+}
+
+
void start_server(int f_in, int f_out, int argc, char *argv[])
{
extern int cvs_exclude;
void start_server(int f_in, int f_out, int argc, char *argv[])
{
extern int cvs_exclude;
@@
-661,8
+667,6
@@
static int start_client(int argc, char *argv[])
extern int am_sender;
extern char *shell_cmd;
extern int rsync_port;
extern int am_sender;
extern char *shell_cmd;
extern int rsync_port;
- extern int whole_file;
- extern int write_batch;
extern int read_batch;
int rc;
extern int read_batch;
int rc;
@@
-811,13
+815,24
@@
static RETSIGTYPE sigchld_handler(int UNUSED(val)) {
* Solaris?) Can we be more portable?
**/
#ifdef MAINTAINER_MODE
* Solaris?) Can we be more portable?
**/
#ifdef MAINTAINER_MODE
+const char *get_panic_action(void)
+{
+ const char *cmd_fmt = getenv("RSYNC_PANIC_ACTION");
+
+ if (cmd_fmt)
+ return cmd_fmt;
+ else
+ return "xterm -display :0 -T Panic -n Panic "
+ "-e gdb /proc/%d/exe %d";
+}
+
+
static RETSIGTYPE rsync_panic_handler(int UNUSED(whatsig))
{
char cmd_buf[300];
int ret;
static RETSIGTYPE rsync_panic_handler(int UNUSED(whatsig))
{
char cmd_buf[300];
int ret;
- sprintf(cmd_buf,
- "xterm -display :0 -T Panic -n Panic "
- "-e gdb /proc/%d/exe %d",
+
+ sprintf(cmd_buf, get_panic_action(),
getpid(), getpid());
/* Unless we failed to execute gdb, we allow the process to
getpid(), getpid());
/* Unless we failed to execute gdb, we allow the process to