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;
static struct map_struct *cleanup_buf;
static int cleanup_pid = 0;
void exit_cleanup(int code)
void _exit_cleanup(int code, const char *file, int line)
{
extern int keep_partial;
......@@ -58,7 +58,7 @@ void exit_cleanup(int code)
}
}
if (code) log_exit(code);
if (code) log_exit(code, file, line);
exit(code);
}
......
......@@ -295,7 +295,7 @@ void log_recv(struct file_struct *file, struct stats *initial_stats)
}
/* 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) {
extern struct stats stats;
......@@ -304,7 +304,8 @@ void log_exit(int code)
(double)stats.total_read,
(double)stats.total_size);
} 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)
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;
......
......@@ -36,7 +36,7 @@ static void report(int f)
extern int do_stats;
if (am_daemon) {
log_exit(0);
log_exit(0, __FILE__, __LINE__);
if (f == -1 || !am_sender) return;
}
......
......@@ -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);
#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