summaryrefslogtreecommitdiff
path: root/source3/locking
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-08-20 19:28:37 +0000
committerJeremy Allison <jra@samba.org>1998-08-20 19:28:37 +0000
commitdc76502cd8a950f6aff84ce4eedfd9d2b30d3dcc (patch)
tree8d8aead30371fec7fa6b191468098d631a6002af /source3/locking
parent852519282d43d7d12c103c01ca979952f041d683 (diff)
downloadsamba-dc76502cd8a950f6aff84ce4eedfd9d2b30d3dcc.tar.gz
samba-dc76502cd8a950f6aff84ce4eedfd9d2b30d3dcc.tar.bz2
samba-dc76502cd8a950f6aff84ce4eedfd9d2b30d3dcc.zip
Turning on blocking locking code. NB. Blocking lock requests that are not
the head of an SMB request (ie. are part of a chain) will not be queued - this will be fixed when we move to the new chain code. In practice, this doesn't seem to cause much of a problem (in my admittedly limited testing) bug a debug level zero message will be placed in the log when this happens to help determine how real the problem is. smbd/locking.c: New debug messages. smbd/blocking.c: New blocking code - handles SMBlock, SMBlockread and SMBlockingX smbd/chgpasswd.c: Fix for master fd leak. smbd/files.c: Tidyup comment. smbd/nttrans.c: Added fnum to debug message. smbd/process.c: Made chain_reply() use construct_reply_common(). Added blocking lock queue processing into idle loop. smbd/reply.c: Added queue pushes for SMBlock, SMBlockread and SMBlockingX. Jeremy. (This used to be commit e1dd03ecda0bc6d7eaa31070c83774bb5679fd1b)
Diffstat (limited to 'source3/locking')
-rw-r--r--source3/locking/locking.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index f5e27317b5..4f2c9ab345 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -109,6 +109,9 @@ BOOL do_lock(files_struct *fsp,connection_struct *conn,
return False;
}
+ DEBUG(10,("do_lock: lock type %d start=%d len=%d requested for file %s\n",
+ lock_type, (int)offset, (int)count, fsp->fsp_name ));
+
if (OPEN_FSP(fsp) && fsp->can_lock && (fsp->conn == conn))
ok = fcntl_lock(fsp->fd_ptr->fd,F_SETLK,offset,count,
map_lock_type(fsp,lock_type));
@@ -133,6 +136,9 @@ BOOL do_unlock(files_struct *fsp,connection_struct *conn,
if (!lp_locking(SNUM(conn)))
return(True);
+ DEBUG(10,("do_unlock: unlock start=%d len=%d requested for file %s\n",
+ (int)offset, (int)count, fsp->fsp_name ));
+
if (OPEN_FSP(fsp) && fsp->can_lock && (fsp->conn == conn))
ok = fcntl_lock(fsp->fd_ptr->fd,F_SETLK,offset,count,F_UNLCK);