From d26908846a84bcff7860ebdb384bbff030206675 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 14 Sep 2011 08:12:13 +0930 Subject: tdb2: check lock owner in tdb1 backend. This reports errors if we fork() while holding a lock, or misuse a tdb which we have dual-opened. Signed-off-by: Rusty Russell (Imported from CCAN commit bef6f1b02e95370ecb2cb44be87c82afc9cb74b2) --- lib/tdb2/private.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/tdb2/private.h') diff --git a/lib/tdb2/private.h b/lib/tdb2/private.h index 6e28692c34..715bd1def7 100644 --- a/lib/tdb2/private.h +++ b/lib/tdb2/private.h @@ -475,6 +475,12 @@ enum TDB_ERROR tdb_read_convert(struct tdb_context *tdb, tdb_off_t off, void tdb_inc_seqnum(struct tdb_context *tdb); /* lock.c: */ +/* Print message because another tdb owns a lock we want. */ +enum TDB_ERROR owner_conflict(struct tdb_context *tdb, const char *call); + +/* If we fork, we no longer really own locks. */ +bool check_lock_pid(struct tdb_context *tdb, const char *call, bool log); + /* Lock/unlock a range of hashes. */ enum TDB_ERROR tdb_lock_hashes(struct tdb_context *tdb, tdb_off_t hash_lock, tdb_len_t hash_range, -- cgit