*/
static inline int close_lock_file(struct lock_file *lk)
{
- return close_tempfile(&lk->tempfile);
+ int ret = close_tempfile_gently(&lk->tempfile);
+ if (ret) {
+ int saved_errno = errno;
+ delete_tempfile(&lk->tempfile);
+ errno = saved_errno;
+ }
+ return ret;
}
/*