diff options
Diffstat (limited to 'lib/tdb/common/tdb.c')
-rw-r--r-- | lib/tdb/common/tdb.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/tdb/common/tdb.c b/lib/tdb/common/tdb.c index f6ae3fd14b..9fa7287113 100644 --- a/lib/tdb/common/tdb.c +++ b/lib/tdb/common/tdb.c @@ -59,13 +59,14 @@ static void tdb_increment_seqnum(struct tdb_context *tdb) return; } - if (tdb_brlock(tdb, TDB_SEQNUM_OFS, F_WRLCK, F_SETLKW, 1, 1) != 0) { + if (tdb_brlock(tdb, F_WRLCK, TDB_SEQNUM_OFS, 1, + TDB_LOCK_WAIT|TDB_LOCK_PROBE) != 0) { return; } tdb_increment_seqnum_nonblock(tdb); - tdb_brlock(tdb, TDB_SEQNUM_OFS, F_UNLCK, F_SETLKW, 1, 1); + tdb_brunlock(tdb, F_WRLCK, TDB_SEQNUM_OFS, 1); } static int tdb_key_compare(TDB_DATA key, TDB_DATA data, void *private_data) |