summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-02-27 00:43:23 +0000
committerJeremy Allison <jra@samba.org>2003-02-27 00:43:23 +0000
commitf6f76ad5ed7b3eee7cbd3bca6f3ccd1194a0e98a (patch)
tree741b11e69c6a004d207d75e1a0bb6a173c39fe2c /source3/smbd/process.c
parent20d0bb23103b219d96aa0ae73136521022f48762 (diff)
downloadsamba-f6f76ad5ed7b3eee7cbd3bca6f3ccd1194a0e98a.tar.gz
samba-f6f76ad5ed7b3eee7cbd3bca6f3ccd1194a0e98a.tar.bz2
samba-f6f76ad5ed7b3eee7cbd3bca6f3ccd1194a0e98a.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 22fc0d48ff2052b4274c65f85050c58b235bf4e4)
Diffstat (limited to 'source3/smbd/process.c')
-rw-r--r--source3/smbd/process.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index c002abad16..57bc236eef 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -1271,6 +1271,13 @@ void smbd_process(void)
lp_talloc_free();
main_loop_talloc_free();
+ /* Did someone ask for immediate checks on things like blocking locks ? */
+ if (select_timeout == 0) {
+ if(!timeout_processing( deadtime, &select_timeout, &last_timeout_processing_time))
+ return;
+ num_smbs = 0; /* Reset smb counter. */
+ }
+
while (!receive_message_or_smb(InBuffer,BUFFER_SIZE+LARGE_WRITEX_HDR_SIZE,select_timeout)) {
if(!timeout_processing( deadtime, &select_timeout, &last_timeout_processing_time))
return;