summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-02-26 01:30:56 +0000
committerJeremy Allison <jra@samba.org>2004-02-26 01:30:56 +0000
commitfb7a1848d17720a661910aaf7431807e820e0215 (patch)
tree57aee7346cccf3e0389d3a1effb8e2058c9ef1e4 /source3/smbd/reply.c
parent41025e8d4f88eb024dbe4a130cf9eb0519b39158 (diff)
downloadsamba-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/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c9
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