summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-02-27 01:04:34 +0000
committerJeremy Allison <jra@samba.org>2003-02-27 01:04:34 +0000
commitfb3e4b87973e9ad0c818e8d9dd60329c47f22afe (patch)
tree98365addb079aa17a6aa8d05a61affcfe54f0dac /source3/smbd/process.c
parent1502667e923620cddd0137e94dc8d892ce2e95a8 (diff)
downloadsamba-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/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;