diff options
author | Jeremy Allison <jra@samba.org> | 1997-11-18 23:30:49 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1997-11-18 23:30:49 +0000 |
commit | 689ed3481d491e247fac8fb57a0bd78bfa216c2a (patch) | |
tree | ebf1cc98fcc575f6d785594788c7c24da2486dac /source3/smbd/server.c | |
parent | eb97fc7d5a9e3285636d3c4cc0954115a8a5bc09 (diff) | |
download | samba-689ed3481d491e247fac8fb57a0bd78bfa216c2a.tar.gz samba-689ed3481d491e247fac8fb57a0bd78bfa216c2a.tar.bz2 samba-689ed3481d491e247fac8fb57a0bd78bfa216c2a.zip |
ipc.c: Changed reply_trans to use receive_next_smb() to cope
with local message processing.
reply.c: Added check to reply_lockingX for chain after oplock break.
server.c: Added receive_next_smb().
trans2.c: Changed reply_trans2 to use receive_next_smb() to cope
with local message processing.
(This used to be commit f4ae644e13f2c4479dfc94c77c0a8295edf54086)
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r-- | source3/smbd/server.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c index d51c43c2f7..3f4f6c7034 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -3087,6 +3087,32 @@ oplock break response from pid %d on port %d for dev = %x, inode = %x.\n", } /**************************************************************************** +Get the next SMB packet, doing the local message processing automatically. +****************************************************************************/ + +BOOL receive_next_smb(int smbfd, int oplockfd, char *inbuf, int bufsize, int timeout) +{ + BOOL got_smb = False; + BOOL ret; + + do + { + ret = receive_message_or_smb(smbfd,oplockfd,inbuf,bufsize, + timeout,&got_smb); + + if(ret && !got_smb) + { + /* Deal with oplock break requests from other smbd's. */ + process_local_message(oplock_sock, inbuf, bufsize); + continue; + } + } + while(ret && !got_smb); + + return ret; +} + +/**************************************************************************** check if a snum is in use ****************************************************************************/ BOOL snum_used(int snum) |