summaryrefslogtreecommitdiff
path: root/source3/winbindd
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-03-16 16:14:20 +0100
committerStefan Metzmacher <metze@samba.org>2009-03-18 07:00:42 +0100
commit3b8dd79f2bc775ed94130565ec2c4383a4864348 (patch)
treeb7e22121a4082c2c93f5354d56040da034780d6b /source3/winbindd
parent0685031ccfc09feb0ad070df1c1a1d0cef5874f2 (diff)
downloadsamba-3b8dd79f2bc775ed94130565ec2c4383a4864348.tar.gz
samba-3b8dd79f2bc775ed94130565ec2c4383a4864348.tar.bz2
samba-3b8dd79f2bc775ed94130565ec2c4383a4864348.zip
s3:winbindd: move non event related code out of process_loop() in the the caller
metze
Diffstat (limited to 'source3/winbindd')
-rw-r--r--source3/winbindd/winbindd.c43
1 files changed, 21 insertions, 22 deletions
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index f5812f9e65..d090b6f994 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -934,7 +934,6 @@ static bool remove_idle_client(void)
static void process_loop(void)
{
- struct winbindd_cli_state *state;
struct winbindd_fd_event *ev;
fd_set r_fds, w_fds;
int maxfd, listen_sock, listen_priv_sock, selret;
@@ -951,10 +950,6 @@ static void process_loop(void)
run_events(winbind_event_context(), 0, NULL, NULL);
- /* refresh the trusted domain cache */
-
- rescan_trusted_domains();
-
/* Initialise fd lists for select() */
maxfd = MAX(listen_sock, listen_priv_sock);
@@ -979,23 +974,6 @@ static void process_loop(void)
timeout = timeval_min(&timeout, &ev_timeout);
}
- /* Set up client readers and writers */
-
- state = winbindd_client_list();
-
- while (state) {
-
- struct winbindd_cli_state *next = state->next;
-
- /* Dispose of client connection if it is marked as
- finished */
-
- if (state->finished)
- remove_client(state);
-
- state = next;
- }
-
for (ev = fd_events; ev; ev = ev->next) {
if (ev->flags & EVENT_FD_READ) {
FD_SET(ev->fd, &r_fds);
@@ -1370,8 +1348,29 @@ int main(int argc, char **argv, char **envp)
TALLOC_FREE(frame);
while (1) {
+ struct winbindd_cli_state *state;
+
frame = talloc_stackframe();
+
+ /* refresh the trusted domain cache */
+
+ rescan_trusted_domains();
+
+ /* Dispose of client connection if it is marked as
+ finished */
+ state = winbindd_client_list();
+ while (state) {
+ struct winbindd_cli_state *next = state->next;
+
+ if (state->finished) {
+ remove_client(state);
+ }
+
+ state = next;
+ }
+
process_loop();
+
TALLOC_FREE(frame);
}