summaryrefslogtreecommitdiff
path: root/lib/tdb/common/transaction.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2010-02-17 12:31:49 +1030
committerRusty Russell <rusty@rustcorp.com.au>2010-02-17 12:31:49 +1030
commitb754f61d235bdc3e410b60014d6be4072645e16f (patch)
tree12849992718ca8e4c8934dd5f4d79c587b5ffd55 /lib/tdb/common/transaction.c
parent5d9de604d92d227899e9b861c6beafb2e4fa61e0 (diff)
downloadsamba-b754f61d235bdc3e410b60014d6be4072645e16f.tar.gz
samba-b754f61d235bdc3e410b60014d6be4072645e16f.tar.bz2
samba-b754f61d235bdc3e410b60014d6be4072645e16f.zip
tdb: don't suppress the transaction lock because of the allrecord lock.
tdb_transaction_lock() and tdb_transaction_unlock() do nothing if we hold the allrecord lock. However, the two locks don't overlap, so this is wrong. This simplification makes the transaction lock a straight-forward nested lock. There are two callers for these functions: 1) The transaction code, which already makes sure the allrecord_lock isn't held. 2) The traverse code, which wants to stop transactions whether it has the allrecord lock or not. There have been deadlocks here before, however this should not bring them back (I hope!) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'lib/tdb/common/transaction.c')
0 files changed, 0 insertions, 0 deletions