mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
fca1621965
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> |
||
---|---|---|
.. | ||
common | ||
docs | ||
include | ||
manpages | ||
python | ||
script | ||
tools | ||
web | ||
aclocal.m4 | ||
autogen.sh | ||
build_macros.m4 | ||
config.guess | ||
config.mk | ||
config.sub | ||
configure.ac | ||
install-sh | ||
libtdb.m4 | ||
Makefile.in | ||
pytdb.c | ||
python.mk | ||
rules.mk | ||
tdb.exports | ||
tdb.mk | ||
tdb.pc.in | ||
tdb.signatures |