From: Joshua Colp Date: Mon, 15 Jan 2007 16:36:07 +0000 (+0000) Subject: Move event processing into do_message so that it gets executed again when events... X-Git-Tag: 1.4.1~284 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=caa099357b62e0e3f7e287201876e3da10f33e8f;p=thirdparty%2Fasterisk.git 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 --- diff --git a/main/manager.c b/main/manager.c index 3761754a55..79ca6e9424 100644 --- a/main/manager.c +++ b/main/manager.c @@ -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) {