diff options
author | Derrell Lipman <derrell.lipman@unwireduniverse.com> | 2008-01-15 13:58:47 +0000 |
---|---|---|
committer | Derrell Lipman <derrell.lipman@unwireduniverse.com> | 2008-01-15 13:58:47 +0000 |
commit | 9788383a6c08189564cd18a824aab4ccdbe57a21 (patch) | |
tree | e93ab7b1007d79e951f69a1495ac7e474536eb25 /source3/lib/tdb/common/lock.c | |
parent | 011e89c85868ec8f16e475a560a0e5bd41995920 (diff) | |
parent | 97f61b542c0e6b1f25ed08fa36792fd90a981e0e (diff) | |
download | samba-9788383a6c08189564cd18a824aab4ccdbe57a21.tar.gz samba-9788383a6c08189564cd18a824aab4ccdbe57a21.tar.bz2 samba-9788383a6c08189564cd18a824aab4ccdbe57a21.zip |
Merge branch 'v3-2-test' of git://git.samba.org/samba into v3-2-test
(This used to be commit 3a61e663e51fe620225691bc8673bf8800a36f47)
Diffstat (limited to 'source3/lib/tdb/common/lock.c')
-rw-r--r-- | source3/lib/tdb/common/lock.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/lib/tdb/common/lock.c b/source3/lib/tdb/common/lock.c index e3fe888c46..f156c0fa7b 100644 --- a/source3/lib/tdb/common/lock.c +++ b/source3/lib/tdb/common/lock.c @@ -505,6 +505,9 @@ int tdb_chainunlock_read(struct tdb_context *tdb, TDB_DATA key) /* record lock stops delete underneath */ int tdb_lock_record(struct tdb_context *tdb, tdb_off_t off) { + if (tdb->global_lock.count) { + return 0; + } return off ? tdb->methods->tdb_brlock(tdb, off, F_RDLCK, F_SETLKW, 0, 1) : 0; } @@ -537,6 +540,10 @@ int tdb_unlock_record(struct tdb_context *tdb, tdb_off_t off) struct tdb_traverse_lock *i; uint32_t count = 0; + if (tdb->global_lock.count) { + return 0; + } + if (off == 0) return 0; for (i = &tdb->travlocks; i; i = i->next) |