diff options
| author | Gerald (Jerry) Carter <jerry@samba.org> | 2008-01-14 09:49:47 -0600 |
|---|---|---|
| committer | Gerald (Jerry) Carter <jerry@samba.org> | 2008-01-14 09:49:47 -0600 |
| commit | 582bd8071f168190e0cf1f6d1637f79ebee287c3 (patch) | |
| tree | d10d1f8ebab5bdd0d6644f6fbf98d7a825ce6f84 /source3/lib/tdb/common/lock.c | |
| parent | 84f12a59600bc3f686959d0e17cf972319059e02 (diff) | |
| parent | 351377a90e44d8011a697779d2e9e225427e5cbb (diff) | |
| download | samba-582bd8071f168190e0cf1f6d1637f79ebee287c3.tar.gz samba-582bd8071f168190e0cf1f6d1637f79ebee287c3.tar.bz2 samba-582bd8071f168190e0cf1f6d1637f79ebee287c3.zip | |
Merge commit 'samba/v3-2-test' into v3-2-stable
(This used to be commit 6811ea1ce2d46f7303b4edf661e27d2edf54724f)
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) |
