diff options
author | Jeremy Allison <jra@samba.org> | 2004-02-26 01:31:10 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2004-02-26 01:31:10 +0000 |
commit | fa81d1d7e7a86d13d10550aa20b07c7300d7b324 (patch) | |
tree | 554e9c352b7f67e2783bb7e2e69dd58458dd7811 | |
parent | 9e2a098a0abed616d2db4fba2847083b7e118f3f (diff) | |
download | samba-fa81d1d7e7a86d13d10550aa20b07c7300d7b324.tar.gz samba-fa81d1d7e7a86d13d10550aa20b07c7300d7b324.tar.bz2 samba-fa81d1d7e7a86d13d10550aa20b07c7300d7b324.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 3f35e3975f1c46daad1456bc82163acd049d7be8)
-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 |