From 333c92384b0680b8f8e5198dd68d49b249b34ec7 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 8 Jan 2012 19:04:39 +0100 Subject: 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_private.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source3/lib/dbwrap/dbwrap_private.h') diff --git a/source3/lib/dbwrap/dbwrap_private.h b/source3/lib/dbwrap/dbwrap_private.h index d0b3279368..111f02dc6b 100644 --- a/source3/lib/dbwrap/dbwrap_private.h +++ b/source3/lib/dbwrap/dbwrap_private.h @@ -56,6 +56,7 @@ struct db_context { int (*exists)(struct db_context *db,TDB_DATA key); int (*wipe)(struct db_context *db); void *private_data; + enum dbwrap_lock_order lock_order; bool persistent; }; -- cgit