From e9cc05b230fca341c6a27ea0efd6d749d95b5da7 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 19 Aug 2009 10:49:29 +0930 Subject: [PATCH] tdb: fix ecode setting on nonblocking brlock This bug was introduced in "Wean off TDB_ERRCODE.". --- ccan/tdb/lock.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ccan/tdb/lock.c b/ccan/tdb/lock.c index 41c38382..66408193 100644 --- a/ccan/tdb/lock.c +++ b/ccan/tdb/lock.c @@ -158,12 +158,11 @@ int tdb_brlock(struct tdb_context *tdb, } while (ret == -1 && errno == EINTR); if (ret == -1) { + tdb->ecode = TDB_ERR_LOCK; /* Generic lock error. errno set by fcntl. * EAGAIN is an expected return from non-blocking * locks. */ if (!(flags & TDB_LOCK_PROBE) && errno != EAGAIN) { - /* Ensure error code is set for log fun to examine. */ - tdb->ecode = TDB_ERR_LOCK; TDB_LOG((tdb, TDB_DEBUG_TRACE,"tdb_brlock failed (fd=%d) at offset %d rw_type=%d flags=%d len=%d\n", tdb->fd, offset, rw_type, flags, (int)len)); } -- 2.39.2