diff options
author | Jeremy Allison <jra@samba.org> | 2004-02-26 01:30:56 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2004-02-26 01:30:56 +0000 |
commit | fb7a1848d17720a661910aaf7431807e820e0215 (patch) | |
tree | 57aee7346cccf3e0389d3a1effb8e2058c9ef1e4 /source3 | |
parent | 41025e8d4f88eb024dbe4a130cf9eb0519b39158 (diff) | |
download | samba-fb7a1848d17720a661910aaf7431807e820e0215.tar.gz samba-fb7a1848d17720a661910aaf7431807e820e0215.tar.bz2 samba-fb7a1848d17720a661910aaf7431807e820e0215.zip |
Interesting fact found by IFSTEST /t LockOverlappedTest...
Even if it's our own lock context, we need to wait here as
there may be an unlock on the way.
So I removed a "&& !my_lock_ctx" from the following
if statement.
if ((lock_timeout != 0) && lp_blocking_locks(SNUM(conn)) && ERROR_WAS_LOCK_DENIED(status)) {
Jeremy.
(This used to be commit 17c88758ae82b20bc7260d5d927325f3f73ba33c)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/reply.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 49f4e97028..643b7c2d08 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -4357,7 +4357,14 @@ no oplock granted on this file (%s).\n", fsp->fnum, fsp->fsp_name)); status = do_lock_spin(fsp,conn,lock_pid, count,offset, ((locktype & 1) ? READ_LOCK : WRITE_LOCK), &my_lock_ctx); if (NT_STATUS_V(status)) { - if ((lock_timeout != 0) && lp_blocking_locks(SNUM(conn)) && !my_lock_ctx && ERROR_WAS_LOCK_DENIED(status)) { + /* + * Interesting fact found by IFSTEST /t LockOverlappedTest... + * Even if it's our own lock context, we need to wait here as + * there may be an unlock on the way. + * So I removed a "&& !my_lock_ctx" from the following + * if statement. JRA. + */ + if ((lock_timeout != 0) && lp_blocking_locks(SNUM(conn)) && ERROR_WAS_LOCK_DENIED(status)) { /* * A blocking lock was requested. Package up * this smb into a queued request and push it |