From 419f0c0f681b76d720699977abe03d29e22db554 Mon Sep 17 00:00:00 2001 From: Michael Haggerty Date: Wed, 1 Oct 2014 12:28:07 +0200 Subject: close_lock_file(): exit (successfully) if file is already closed Suggested-by: Jonathan Nieder Signed-off-by: Michael Haggerty Signed-off-by: Junio C Hamano --- lockfile.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lockfile.c') diff --git a/lockfile.c b/lockfile.c index f1ce1544d..d02c3bf90 100644 --- a/lockfile.c +++ b/lockfile.c @@ -233,6 +233,10 @@ int hold_lock_file_for_append(struct lock_file *lk, const char *path, int flags) int close_lock_file(struct lock_file *lk) { int fd = lk->fd; + + if (fd < 0) + return 0; + lk->fd = -1; return close(fd); } @@ -251,7 +255,7 @@ int commit_lock_file(struct lock_file *lk) { char result_file[PATH_MAX]; size_t i; - if (lk->fd >= 0 && close_lock_file(lk)) + if (close_lock_file(lk)) return -1; strcpy(result_file, lk->filename); i = strlen(result_file) - 5; /* .lock */ -- cgit v1.2.1