From 3b2c10f8955096c5cb28e8ae157e0f08858c001e Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 14 Sep 2011 07:27:13 +0930 Subject: tdb2: get rid of TDB1 mark and nonblock functions. We do this using hooks in tdb2. Signed-off-by: Rusty Russell (Imported from CCAN commit 444fade529f68eb2b0aebbc8de442478c5c6f916) --- lib/tdb2/tdb1_transaction.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'lib/tdb2/tdb1_transaction.c') diff --git a/lib/tdb2/tdb1_transaction.c b/lib/tdb2/tdb1_transaction.c index 43e99024ce..b09a2b3c10 100644 --- a/lib/tdb2/tdb1_transaction.c +++ b/lib/tdb2/tdb1_transaction.c @@ -421,8 +421,7 @@ static const struct tdb1_methods transaction1_methods = { start a tdb transaction. No token is returned, as only a single transaction is allowed to be pending per tdb1_context */ -static int _tdb1_transaction_start(struct tdb1_context *tdb, - enum tdb1_lock_flags lockflags) +static int _tdb1_transaction_start(struct tdb1_context *tdb) { /* some sanity checks */ if (tdb->read_only || (tdb->flags & TDB1_INTERNAL) || tdb->traverse_read) { @@ -474,12 +473,9 @@ static int _tdb1_transaction_start(struct tdb1_context *tdb, /* get the transaction write lock. This is a blocking lock. As discussed with Volker, there are a number of ways we could make this async, which we will probably do in the future */ - if (tdb1_transaction_lock(tdb, F_WRLCK, lockflags) == -1) { + if (tdb1_transaction_lock(tdb, F_WRLCK, TDB1_LOCK_WAIT) == -1) { SAFE_FREE(tdb->transaction->blocks); SAFE_FREE(tdb->transaction); - if ((lockflags & TDB1_LOCK_WAIT) == 0) { - tdb->ecode = TDB1_ERR_NOLOCK; - } return -1; } @@ -518,7 +514,7 @@ static int _tdb1_transaction_start(struct tdb1_context *tdb, return 0; fail: - tdb1_allrecord_unlock(tdb, F_RDLCK, false); + tdb1_allrecord_unlock(tdb, F_RDLCK); fail_allrecord_lock: tdb1_transaction_unlock(tdb, F_WRLCK); SAFE_FREE(tdb->transaction->blocks); @@ -529,7 +525,7 @@ fail_allrecord_lock: int tdb1_transaction_start(struct tdb1_context *tdb) { - return _tdb1_transaction_start(tdb, TDB1_LOCK_WAIT); + return _tdb1_transaction_start(tdb); } /* -- cgit