diff options
Diffstat (limited to 'src/astmanproxy.c')
-rw-r--r-- | src/astmanproxy.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/astmanproxy.c b/src/astmanproxy.c index 853b8bf..457a3bf 100644 --- a/src/astmanproxy.c +++ b/src/astmanproxy.c @@ -181,12 +181,8 @@ int WriteClients(struct message *m) { } } else c->output->write(c, m); - if ( c->input->autodisconnect && c->input->autodisconnect() ) { - d = c; /* session to disconnect */ - c = c->next; - destroy_session(d); - continue; - } + if ( c->input->autodisconnect && c->input->autodisconnect() ) + c->dead = 1; } c = c->next; } @@ -298,7 +294,7 @@ void *session_do(struct mansession *s) destroy_session(s); if (debug) - debugmsg("Exiting session_do thread"); + debugmsg("--- exiting session_do thread ---"); pthread_exit(NULL); return NULL; } @@ -584,7 +580,6 @@ static void *accept_thread() s->fd = as; SetIOHandlers(s, pc.inputformat, pc.outputformat); s->autofilter = pc.autofilter; - s->inputcomplete = 0; s->server = NULL; pthread_mutex_lock(&sessionlock); |