From: Mark Michelson Date: Fri, 13 Jun 2008 21:44:53 +0000 (+0000) Subject: Short circuit the loop in autoservice_run if there are no channels to poll. X-Git-Tag: 1.4.22-rc1~210 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5cc15b34685c55cc2b34ee7cc7ba476267bd119a;p=thirdparty%2Fasterisk.git Short circuit the loop in autoservice_run if there are no channels to poll. If we continued, then the result would be calling poll() with a NULL pollfd array. While this is fine with POSIX's poll(2) system call, those who use Asterisk's internal poll mechanism (Darwin systems) would have a failed assertion occur when poll is called. (related to issue #10342) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122713 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/autoservice.c b/main/autoservice.c index a967388cbb..a681b0f1d5 100644 --- a/main/autoservice.c +++ b/main/autoservice.c @@ -106,6 +106,10 @@ static void *autoservice_run(void *ign) AST_LIST_UNLOCK(&aslist); + if (!x) { + continue; + } + chan = ast_waitfor_n(mons, x, &ms); if (!chan) { continue;