mirror of
https://github.com/samba-team/samba.git
synced 2025-01-13 13:18:06 +03:00
ce635cef5b
Centralize locking of all chains of the tdb; rename _tdb_lockall to
tdb_allrecord_lock and _tdb_unlockall to tdb_allrecord_unlock, and
tdb_brlock_upgrade to tdb_allrecord_upgrade.
Then we use this in the transaction code. Unfortunately, if the transaction
code records that it has grabbed the allrecord lock read-only, write locks
will fail, so we treat this upgradable lock as a write lock, and mark it
as upgradable using the otherwise-unused offset field.
One subtlety: now the transaction code is using the allrecord_lock, the
tdb_release_extra_locks() function drops it for us, so we no longer need
to do it manually in _tdb_transaction_cancel.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(Imported from commit
|
||
---|---|---|
.. | ||
client | ||
common | ||
config | ||
doc | ||
ib | ||
include | ||
lib | ||
packaging | ||
server | ||
tcp | ||
tests | ||
tools | ||
utils | ||
web | ||
.bzrignore | ||
.gitignore | ||
aclocal.m4 | ||
autogen.sh | ||
config.guess | ||
config.mk | ||
config.sub | ||
configure.ac | ||
configure.rpm | ||
COPYING | ||
ctdb.pc.in | ||
install-sh | ||
Makefile.in |