diff options
author | Jeremy Allison <jra@samba.org> | 2003-02-27 01:04:34 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2003-02-27 01:04:34 +0000 |
commit | fb3e4b87973e9ad0c818e8d9dd60329c47f22afe (patch) | |
tree | 98365addb079aa17a6aa8d05a61affcfe54f0dac /source3/smbd/reply.c | |
parent | 1502667e923620cddd0137e94dc8d892ce2e95a8 (diff) | |
download | samba-fb3e4b87973e9ad0c818e8d9dd60329c47f22afe.tar.gz samba-fb3e4b87973e9ad0c818e8d9dd60329c47f22afe.tar.bz2 samba-fb3e4b87973e9ad0c818e8d9dd60329c47f22afe.zip |
Fix to allow blocking lock notification to be done rapidly (no wait
for smb -> smb lock release). Adds new PENDING_LOCK type to lockdb
(does not interfere with existing locks).
Jeremy.
(This used to be commit 766928bbba1e597c9c2b12458dd8d37e6080593e)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 580878fe32..71e880476c 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1609,7 +1609,8 @@ int reply_lockread(connection_struct *conn, char *inbuf,char *outbuf, int length * this smb into a queued request and push it * onto the blocking lock queue. */ - if(push_blocking_lock_request(inbuf, length, -1, 0)) { + if(push_blocking_lock_request(inbuf, length, -1, 0, SVAL(inbuf,smb_pid), (SMB_BIG_UINT)startpos, + (SMB_BIG_UINT)numtoread)) { END_PROFILE(SMBlockread); return -1; } @@ -2514,7 +2515,7 @@ int reply_lock(connection_struct *conn, * this smb into a queued request and push it * onto the blocking lock queue. */ - if(push_blocking_lock_request(inbuf, length, -1, 0)) { + if(push_blocking_lock_request(inbuf, length, -1, 0, SVAL(inbuf,smb_pid), offset, count)) { END_PROFILE(SMBlock); return -1; } @@ -3955,7 +3956,7 @@ no oplock granted on this file (%s).\n", fsp->fnum, fsp->fsp_name)); * this smb into a queued request and push it * onto the blocking lock queue. */ - if(push_blocking_lock_request(inbuf, length, lock_timeout, i)) { + if(push_blocking_lock_request(inbuf, length, lock_timeout, i, lock_pid, offset, count)) { END_PROFILE(SMBlockingX); return -1; } |