Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
lockfile.c: schedule remove_lock_file only once.
author
Sven Verdoolaege
<skimo@kotnet.org>
Fri, 13 Jul 2007 14:14:50 +0000
(16:14 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Fri, 13 Jul 2007 15:55:15 +0000
(08:55 -0700)
Removing a lockfile once should be enough.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
lockfile.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
689b4d5
)
diff --git
a/lockfile.c
b/lockfile.c
index 5ad2858b4885022141d915fa0555c51f80d11c1c..fb8f13bbb95eea8c66dadf409b40193ec2df8738 100644
(file)
--- a/
lockfile.c
+++ b/
lockfile.c
@@
-31,16
+31,16
@@
static int lock_file(struct lock_file *lk, const char *path)
sprintf(lk->filename, "%s.lock", path);
fd = open(lk->filename, O_RDWR | O_CREAT | O_EXCL, 0666);
if (0 <= fd) {
sprintf(lk->filename, "%s.lock", path);
fd = open(lk->filename, O_RDWR | O_CREAT | O_EXCL, 0666);
if (0 <= fd) {
+ if (!lock_file_list) {
+ signal(SIGINT, remove_lock_file_on_signal);
+ atexit(remove_lock_file);
+ }
lk->owner = getpid();
if (!lk->on_list) {
lk->next = lock_file_list;
lock_file_list = lk;
lk->on_list = 1;
}
lk->owner = getpid();
if (!lk->on_list) {
lk->next = lock_file_list;
lock_file_list = lk;
lk->on_list = 1;
}
- if (lock_file_list) {
- signal(SIGINT, remove_lock_file_on_signal);
- atexit(remove_lock_file);
- }
if (adjust_shared_perm(lk->filename))
return error("cannot fix permission bits on %s",
lk->filename);
if (adjust_shared_perm(lk->filename))
return error("cannot fix permission bits on %s",
lk->filename);