summaryrefslogtreecommitdiff
path: root/source3/smbd/server.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2009-01-22 22:49:30 +0100
committerJelmer Vernooij <jelmer@samba.org>2009-01-22 22:49:30 +0100
commit1fcd85e8b9235301c7bc6c4c0878e73ddcbd4b16 (patch)
tree769f8e097b5225d8627bbb6698106000f226754e /source3/smbd/server.c
parentebb929779bf9f4aa0cb9695a3ee5ce5d550bcecc (diff)
parent8e2b48e1b7c7fd6b6080f2e56f654b682c6426a3 (diff)
downloadsamba-1fcd85e8b9235301c7bc6c4c0878e73ddcbd4b16.tar.gz
samba-1fcd85e8b9235301c7bc6c4c0878e73ddcbd4b16.tar.bz2
samba-1fcd85e8b9235301c7bc6c4c0878e73ddcbd4b16.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r--source3/smbd/server.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 42c37f2056..505763014e 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -573,9 +573,6 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
fd_set r_fds, w_fds;
int num;
- /* Ensure we respond to PING and DEBUG messages from the main smbd. */
- message_dispatch(smbd_messaging_context());
-
if (got_sig_cld) {
pid_t pid;
int status;
@@ -602,6 +599,10 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
}
}
+ if (run_events(smbd_event_context(), 0, NULL, NULL)) {
+ continue;
+ }
+
idle_timeout = timeval_zero();
memcpy((char *)&r_fds, (char *)&listen_set,
@@ -623,6 +624,10 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
timeval_is_zero(&idle_timeout) ?
NULL : &idle_timeout);
+ if (run_events(smbd_event_context(), num, &r_fds, &w_fds)) {
+ continue;
+ }
+
if (num == -1 && errno == EINTR) {
if (got_sig_term) {
exit_server_cleanly(NULL);
@@ -653,10 +658,6 @@ static bool open_sockets_smbd(bool is_daemon, bool interactive, const char *smb_
--num;
}
- if (run_events(smbd_event_context(), num, &r_fds, &w_fds)) {
- continue;
- }
-
/* check if we need to reload services */
check_reload(time(NULL));