s3: Enforce a lock order in dbwrap
authorVolker Lendecke <vl@samba.org>
Sun, 8 Jan 2012 18:04:39 +0000 (19:04 +0100)
committerVolker Lendecke <vlendec@samba.org>
Wed, 18 Jan 2012 13:48:04 +0000 (14:48 +0100)
commit333c92384b0680b8f8e5198dd68d49b249b34ec7
tree8042feeb87bf2a0f763b0972facca268a935a8c6
parent45e61fcf61ed9863fbe2b116fe0763fc139bbe0d
s3: Enforce a lock order in dbwrap

This makes sure we do not deadlock from doing two dbwrap_fetch_locked in two
processes in different orders. At open time, we assign a strict order to all
databases. lock_order 1 will be locked first, lock_order 2 second. No two
records of the same lock order may be locked at the same time.
source3/lib/dbwrap/dbwrap.c
source3/lib/dbwrap/dbwrap_open.c
source3/lib/dbwrap/dbwrap_private.h
source3/lib/dbwrap/dbwrap_rbt.c