summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-08-17 23:39:59 +0000
committerJeremy Allison <jra@samba.org>1998-08-17 23:39:59 +0000
commit1e6837837ac402702ccadcbcfd853b8c673c783a (patch)
treea2bc2d39775a03f86f664166aefb87e6ad31545c
parentb935fc086285e73203e5f3af80041489e893ee1a (diff)
downloadsamba-1e6837837ac402702ccadcbcfd853b8c673c783a.tar.gz
samba-1e6837837ac402702ccadcbcfd853b8c673c783a.tar.bz2
samba-1e6837837ac402702ccadcbcfd853b8c673c783a.zip
smbd/nttrans.c: Fixed bug in split off pipe code.
locking/locking.c: More blocking lock changes. Jeremy. (This used to be commit 2ca4fc95a4227645f1009a057d46b58508846a92)
-rw-r--r--source3/locking/locking.c16
-rw-r--r--source3/smbd/nttrans.c4
2 files changed, 16 insertions, 4 deletions
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index 8737a12e17..873e382b46 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -116,7 +116,6 @@ static void blocking_lock_reply_success(blocking_lock_record *blr)
* that here and must set up the chain info manually.
*/
- file_set_chain(fsp);
chain_size = 0;
outsize = chain_reply(inbuf,outbuf,blr->length,bufsize);
@@ -227,7 +226,7 @@ static BOOL blocking_lock_record_process(blocking_lock_record *blr)
*/
DEBUG(10,("blocking_lock_record_process: only got %d locks of %d needed for fnum = %d. \
-Waiting..\n", blr->lock_num, num_locks, fsp->fnum));
+Waiting....\n", blr->lock_num, num_locks, fsp->fnum));
return False;
}
@@ -249,8 +248,17 @@ void process_blocking_lock_queue(time_t t)
*/
while(blr != NULL) {
- files_struct *fsp = file_fsp(blr->inbuf,smb_vwv2);
- uint16 vuid = (lp_security() == SEC_SHARE) ? UID_FIELD_INVALID :
+ files_struct *fsp = NULL;
+ uint16 vuid;
+
+ /*
+ * Ensure we don't have any old chain_fnum values
+ * sitting around....
+ */
+ file_chain_reset();
+
+ fsp = file_fsp(blr->inbuf,smb_vwv2);
+ vuid = (lp_security() == SEC_SHARE) ? UID_FIELD_INVALID :
SVAL(blr->inbuf,smb_uid);
DEBUG(5,("process_blocking_lock_queue: examining pending lock fnum = %d for file %s\n",
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 61826fa0ee..b5ed42fbb3 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -473,6 +473,10 @@ int reply_ntcreate_and_X(connection_struct *conn,
SSVAL(p,0,FILE_TYPE_MESSAGE_MODE_PIPE);
/* Device state. */
SSVAL(p,2, 0x5FF); /* ? */
+
+ DEBUG(5,("reply_ntcreate_and_X: open pipe = %s\n", fname));
+
+ return chain_reply(inbuf,outbuf,length,bufsize);
}
/*