Move event processing into do_message so that it gets executed again when events are tripped.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@50895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Joshua Colp 19 years ago
parent dd357a71a7
commit caa099357b

@ -2059,6 +2059,11 @@ static int do_message(struct mansession *s)
int res;
for (;;) {
/* Check if any events are pending and do them if needed */
if (s->eventq->next) {
if (process_events(s))
return -1;
}
res = get_input(s, header_buf);
if (res == 0) {
continue;
@ -2086,14 +2091,8 @@ static void *session_do(void *data)
astman_append(s, "Asterisk Call Manager/1.0\r\n");
ast_mutex_unlock(&s->__lock);
for (;;) {
res = do_message(s);
if (res < 0) {
if ((res = do_message(s)) < 0)
break;
} else if (s->eventq->next) {
if (process_events(s))
break;
}
}
if (s->authenticated) {
if (option_verbose > 1) {

Loading…
Cancel
Save