Commit a9766ef1 authored by Andrew Tridgell's avatar Andrew Tridgell

log filename(line) in exit_cleanup() to make tracking down problems

easier in rsync daemons.
parent 5a788ade
...@@ -31,7 +31,7 @@ static int cleanup_fd1, cleanup_fd2; ...@@ -31,7 +31,7 @@ static int cleanup_fd1, cleanup_fd2;
static struct map_struct *cleanup_buf; static struct map_struct *cleanup_buf;
static int cleanup_pid = 0; static int cleanup_pid = 0;
void exit_cleanup(int code) void _exit_cleanup(int code, const char *file, int line)
{ {
extern int keep_partial; extern int keep_partial;
...@@ -58,7 +58,7 @@ void exit_cleanup(int code) ...@@ -58,7 +58,7 @@ void exit_cleanup(int code)
} }
} }
if (code) log_exit(code); if (code) log_exit(code, file, line);
exit(code); exit(code);
} }
......
...@@ -295,7 +295,7 @@ void log_recv(struct file_struct *file, struct stats *initial_stats) ...@@ -295,7 +295,7 @@ void log_recv(struct file_struct *file, struct stats *initial_stats)
} }
/* called when the transfer is interrupted for some reason */ /* called when the transfer is interrupted for some reason */
void log_exit(int code) void log_exit(int code, const char *file, int line)
{ {
if (code == 0) { if (code == 0) {
extern struct stats stats; extern struct stats stats;
...@@ -304,7 +304,8 @@ void log_exit(int code) ...@@ -304,7 +304,8 @@ void log_exit(int code)
(double)stats.total_read, (double)stats.total_read,
(double)stats.total_size); (double)stats.total_size);
} else { } else {
rprintf(FLOG,"transfer interrupted (code %d)\n", code); rprintf(FLOG,"transfer interrupted (code %d) at %s(%d)\n",
code, file, line);
} }
} }
...@@ -313,7 +314,7 @@ void log_exit(int code) ...@@ -313,7 +314,7 @@ void log_exit(int code)
it i called when a file starts to be transferred it i called when a file starts to be transferred
*/ */
void log_transfer(struct file_struct *file, char *fname) void log_transfer(struct file_struct *file, const char *fname)
{ {
extern int verbose; extern int verbose;
......
...@@ -36,7 +36,7 @@ static void report(int f) ...@@ -36,7 +36,7 @@ static void report(int f)
extern int do_stats; extern int do_stats;
if (am_daemon) { if (am_daemon) {
log_exit(0); log_exit(0, __FILE__, __LINE__);
if (f == -1 || !am_sender) return; if (f == -1 || !am_sender) return;
} }
......
...@@ -484,3 +484,4 @@ size_t strlcpy(char *d, const char *s, size_t bufsize); ...@@ -484,3 +484,4 @@ size_t strlcpy(char *d, const char *s, size_t bufsize);
size_t strlcat(char *d, const char *s, size_t bufsize); size_t strlcat(char *d, const char *s, size_t bufsize);
#endif #endif
#define exit_cleanup(code) _exit_cleanup(code, __FILE__, __LINE__)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment