diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2012-06-22 15:07:44 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-06-22 07:35:17 +0200 |
commit | 41f799d877961d095401a628307e0c690dfbc124 (patch) | |
tree | 5687f03d0009a3f379375a3d52087afbb14591e2 /lib/dbwrap/dbwrap.c | |
parent | f6eb187fdab6b8088bb065e418fe604c4eba7751 (diff) | |
download | samba-41f799d877961d095401a628307e0c690dfbc124.tar.gz samba-41f799d877961d095401a628307e0c690dfbc124.tar.bz2 samba-41f799d877961d095401a628307e0c690dfbc124.zip |
dbwrap: dbwrap_transaction_start_nonblock().
Implemented for ntdb and tdb; falls back to the blocking variant
for others.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'lib/dbwrap/dbwrap.c')
-rw-r--r-- | lib/dbwrap/dbwrap.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/dbwrap/dbwrap.c b/lib/dbwrap/dbwrap.c index 835bd599ef..afb069221e 100644 --- a/lib/dbwrap/dbwrap.c +++ b/lib/dbwrap/dbwrap.c @@ -425,6 +425,16 @@ int dbwrap_transaction_start(struct db_context *db) return db->transaction_start(db); } +NTSTATUS dbwrap_transaction_start_nonblock(struct db_context *db) +{ + if (db->transaction_start_nonblock) { + return db->transaction_start_nonblock(db); + } else { + return dbwrap_transaction_start(db) == 0 ? NT_STATUS_OK + : NT_STATUS_UNSUCCESSFUL; + } +} + int dbwrap_transaction_commit(struct db_context *db) { return db->transaction_commit(db); |