summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2003-05-06 02:34:59 +0000
committerJelmer Vernooij <jelmer@samba.org>2003-05-06 02:34:59 +0000
commit06551c644c75ab2aa14a3cc3c4afbcbb08369133 (patch)
treecb84e1c13882c89b74e85a6c540bf34b37a4db80 /source3/smbd
parent45f8fd3fa99772b5f65b205a96ee3286b1e85ff4 (diff)
downloadsamba-06551c644c75ab2aa14a3cc3c4afbcbb08369133.tar.gz
samba-06551c644c75ab2aa14a3cc3c4afbcbb08369133.tar.bz2
samba-06551c644c75ab2aa14a3cc3c4afbcbb08369133.zip
Patch from metze to add exit and interval events. Useful for modules
(This used to be commit 3033a63cefb5f28d4460885f7f4e4ecaed95443c)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/process.c7
-rw-r--r--source3/smbd/server.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 54fd4a90d9..18acb35f7a 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -1114,6 +1114,9 @@ static BOOL timeout_processing(int deadtime, int *select_timeout, time_t *last_t
/* become root again if waiting */
change_to_root_user();
+ /* run all registered idle events */
+ smb_run_idle_events(t);
+
/* check if we need to reload services */
check_reload(t);
@@ -1277,6 +1280,10 @@ void smbd_process(void)
lp_talloc_free();
main_loop_talloc_free();
+ /* run all registered idle events */
+ smb_run_idle_events(time(NULL));
+
+
/* 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))
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index ffffa3cce3..d46be42eba 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -567,6 +567,9 @@ void exit_server(const char *reason)
print_notify_send_messages(3); /* 3 second timeout. */
+ /* run all registered exit events */
+ smb_run_exit_events();
+
/* delete our entry in the connections database. */
yield_connection(NULL,"");