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
parent
5697ecc7be
commit
f2a19340ad
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue