This is pure overhead, but it centralizes the locking. Realloc (esp. as
most implementations are lazy) is fast compared to the fnctl anyway.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
- if (tdb_brlock(tdb, F_WRLCK, TDB_SEQNUM_OFS, 1,
- TDB_LOCK_WAIT|TDB_LOCK_PROBE) != 0) {
+ if (tdb_nest_lock(tdb, TDB_SEQNUM_OFS, F_WRLCK,
+ TDB_LOCK_WAIT|TDB_LOCK_PROBE) != 0) {
return;
}
tdb_increment_seqnum_nonblock(tdb);
return;
}
tdb_increment_seqnum_nonblock(tdb);
- tdb_brunlock(tdb, F_WRLCK, TDB_SEQNUM_OFS, 1);
+ tdb_nest_unlock(tdb, TDB_SEQNUM_OFS, F_WRLCK, false);
}
static int tdb_key_compare(TDB_DATA key, TDB_DATA data, void *private_data)
}
static int tdb_key_compare(TDB_DATA key, TDB_DATA data, void *private_data)