summaryrefslogtreecommitdiff
path: root/lockfile.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2008-05-29 14:55:53 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-05-31 21:33:59 (GMT)
commitad5fa3cc0e115a8b111868af2f727322feb144cb (patch)
tree09d7ab5a909bd1cc63e2ce3be8cacf73324fcaf9 /lockfile.c
parentc16570c42a748a29031281badd4762dd4e71d3d0 (diff)
downloadgit-ad5fa3cc0e115a8b111868af2f727322feb144cb.zip
git-ad5fa3cc0e115a8b111868af2f727322feb144cb.tar.gz
git-ad5fa3cc0e115a8b111868af2f727322feb144cb.tar.bz2
rollback lock files on more signals than just SIGINT
Other signals are also common, for example SIGTERM and SIGHUP. This patch modifies the lock file mechanism to catch more signals. It also modifies http-push.c which was missing SIGTERM. Signed-off-by: Paolo Bonzini <bonzini@gnu.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'lockfile.c')
-rw-r--r--lockfile.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lockfile.c b/lockfile.c
index cfc7335..4023797 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -135,6 +135,9 @@ static int lock_file(struct lock_file *lk, const char *path)
if (0 <= lk->fd) {
if (!lock_file_list) {
signal(SIGINT, remove_lock_file_on_signal);
+ signal(SIGHUP, remove_lock_file_on_signal);
+ signal(SIGTERM, remove_lock_file_on_signal);
+ signal(SIGQUIT, remove_lock_file_on_signal);
atexit(remove_lock_file);
}
lk->owner = getpid();