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
Fix serious bug with "use chroot = no" option which caused "uid =" and "gid ="
[rsync/rsync.git]
/
cleanup.c
diff --git
a/cleanup.c
b/cleanup.c
index
abd7b0d
..
be79503
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;
static struct map_struct *cleanup_buf;
static int cleanup_pid = 0;
-void
exit_cleanup(int cod
e)
+void
_exit_cleanup(int code, const char *file, int lin
e)
{
extern int keep_partial;
{
extern int keep_partial;
@@
-51,8
+51,15
@@
void exit_cleanup(int code)
if (code) {
kill_all(SIGUSR1);
}
if (code) {
kill_all(SIGUSR1);
}
- if ((cleanup_pid != 0) && (cleanup_pid == (int) getpid()))
- unlink(lp_pid_file());
+ if ((cleanup_pid != 0) && (cleanup_pid == (int) getpid())) {
+ char *pidf = lp_pid_file();
+ if (pidf && *pidf) {
+ unlink(lp_pid_file());
+ }
+ }
+
+ if (code) log_exit(code, file, line);
+
exit(code);
}
exit(code);
}