When rolling back the lockfile, call close_lock_file() so that the
lock_file's fd field gets set back to -1. This keeps the lock_file
object in a valid state, which is important because these objects are
allowed to be reused. It also makes it unnecessary to check whether
the file has already been closed, because close_lock_file() takes care
of that.
Signed-off-by: Michael Haggerty <redacted>
Reviewed-by: Jonathan Nieder <redacted>
---
lockfile.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lockfile.c b/lockfile.c
index e55149a..3df1e83 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -279,8 +279,7 @@ void rollback_lock_file(struct lock_file *lk)
if (!lk->filename[0])
return;
- if (lk->fd >= 0)
- close(lk->fd);
+ close_lock_file(lk);
unlink_or_warn(lk->filename);
lk->filename[0] = 0;
}
--
2.1.0