summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-02-26 01:31:10 +0000
committerJeremy Allison <jra@samba.org>2004-02-26 01:31:10 +0000
commitfa81d1d7e7a86d13d10550aa20b07c7300d7b324 (patch)
tree554e9c352b7f67e2783bb7e2e69dd58458dd7811
parent9e2a098a0abed616d2db4fba2847083b7e118f3f (diff)
downloadsamba-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.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