[PATCH v2 14/25] lock_file(): exit early if lockfile cannot be opened
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Apr 6, 2014, 23:33 UTC
- Message-ID
- <1396827247-28465-15-git-send-email-mhagger@alum.mit.edu>
- In-Reply-To
- <1396827247-28465-1-git-send-email-mhagger@alum.mit.edu>
This is a bit easier to read than the old version, which nested part of the non-error code in an "if" block.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> --- lockfile.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/lockfile.c b/lockfile.c index 1bd0ae1..0879214 100644 --- a/lockfile.c +++ b/lockfile.c @@ -213,16 +213,16 @@ static int lock_file(struct lock_file *lk, const char *path, int flags) resolve_symlink(lk->filename, max_path_len); strcat(lk->filename, ".lock"); lk->fd = open(lk->filename, O_RDWR | O_CREAT | O_EXCL, 0666); - if (0 <= lk->fd) { - lk->owner = getpid(); - if (adjust_shared_perm(lk->filename)) { - error("cannot fix permission bits on %s", lk->filename); - rollback_lock_file(lk); - return -1; - } - } - else + if (lk->fd < 0) { lk->filename[0] = 0; + return -1; + } + lk->owner = getpid(); + if (adjust_shared_perm(lk->filename)) { + error("cannot fix permission bits on %s", lk->filename); + rollback_lock_file(lk); + return -1; + } return lk->fd; }
-- 1.9.1