update-cache: remove index lock file on SIGINT

This makes it a lot more pleasant to use when you
interrupt a long-running operation.
maint
Linus Torvalds 2005-04-26 11:55:42 -07:00
parent 5697ecc7be
commit f2a19340ad
1 changed files with 7 additions and 0 deletions

View File

@ -3,6 +3,7 @@
* *
* Copyright (C) Linus Torvalds, 2005 * Copyright (C) Linus Torvalds, 2005
*/ */
#include <signal.h>
#include "cache.h" #include "cache.h"


/* /*
@ -299,6 +300,11 @@ static void remove_lock_file(void)
unlink(lockfile_name); unlink(lockfile_name);
} }


static void remove_lock_file_on_signal(int signo)
{
remove_lock_file();
}

int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int i, newfd, entries; int i, newfd, entries;
@ -312,6 +318,7 @@ int main(int argc, char **argv)
if (newfd < 0) if (newfd < 0)
die("unable to create new cachefile"); die("unable to create new cachefile");


signal(SIGINT, remove_lock_file_on_signal);
atexit(remove_lock_file); atexit(remove_lock_file);
lockfile_name = lockfile; lockfile_name = lockfile;