summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/database.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/database.c b/src/database.c
index 57cae9d..720b7b0 100644
--- a/src/database.c
+++ b/src/database.c
@@ -872,6 +872,7 @@ int apk_db_open(struct apk_database *db, const char *root, unsigned int flags)
}
if (db->lock_fd < 0 ||
flock(db->lock_fd, LOCK_EX | LOCK_NB) < 0) {
+ msg = "Unable to lock database";
if (apk_wait) {
struct sigaction sa, old_sa;
@@ -882,14 +883,13 @@ int apk_db_open(struct apk_database *db, const char *root, unsigned int flags)
sigaction(SIGALRM, &sa, &old_sa);
alarm(apk_wait);
- if (flock(db->lock_fd, LOCK_EX) < 0) {
- msg = "Unable to lock database";
+ if (flock(db->lock_fd, LOCK_EX) < 0)
goto ret_errno;
- }
alarm(0);
sigaction(SIGALRM, &old_sa, NULL);
- }
+ } else
+ goto ret_errno;
}
}
}