summaryrefslogtreecommitdiffstats
path: root/source/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
commit766928bbba1e597c9c2b12458dd8d37e6080593e (patch)
tree4bb92d6006f323f26c7144098be15c0b6f95250a /source/smbd/process.c
parent1cba3ceae1637974272e595260933985d84942d4 (diff)
downloadsamba-766928bbba1e597c9c2b12458dd8d37e6080593e.tar.gz
samba-766928bbba1e597c9c2b12458dd8d37e6080593e.tar.xz
samba-766928bbba1e597c9c2b12458dd8d37e6080593e.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.
Diffstat (limited to 'source/smbd/process.c')
-rw-r--r--source/smbd/process.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/smbd/process.c b/source/smbd/process.c
index c002abad162..57bc236eef5 100644
--- a/source/smbd/process.c
+++ b/source/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;