log filename(line) in exit_cleanup() to make tracking down problems
authorAndrew Tridgell <tridge@samba.org>
Sun, 15 Nov 1998 01:21:42 +0000 (01:21 +0000)
committerAndrew Tridgell <tridge@samba.org>
Sun, 15 Nov 1998 01:21:42 +0000 (01:21 +0000)
easier in rsync daemons.

cleanup.c
log.c
main.c
rsync.h

index ee2fa4d51cf8479520caff08c00012bd3691bb65..be795034a20e46761de5c9d2d2dc05de89470a1e 100644 (file)
--- a/cleanup.c
+++ b/cleanup.c
@@ -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);
 }
diff --git a/log.c b/log.c
index 6594d454f5fdc1dd36cacd89f51d8d95d5e1e1ba..82a88cd5640b7212bf854539fd94d993ac8f34fd 100644 (file)
--- a/log.c
+++ b/log.c
@@ -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;
 
diff --git a/main.c b/main.c
index 9b377386a66bf4fbe3794d11058065ae6961b5e0..737a78af0227a9c7d8e1433ddabb6ac5ad3118cb 100644 (file)
--- a/main.c
+++ b/main.c
@@ -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;
        }
 
diff --git a/rsync.h b/rsync.h
index 53b1c318e663673d92557cdd34ba93102e5c7cd9..5ea5301dc3c2121bbc2b535b16037eb8bf174021 100644 (file)
--- a/rsync.h
+++ b/rsync.h
@@ -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__)