Merged revisions 122713 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Fri, 13 Jun 2008 21:45:21 +0000 (21:45 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 13 Jun 2008 21:45:21 +0000 (21:45 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r122713 | mmichelson | 2008-06-13 16:44:53 -0500 (Fri, 13 Jun 2008) | 9 lines

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/trunk@122714 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/autoservice.c

index 636e95d..1f18dee 100644 (file)
@@ -101,6 +101,10 @@ static void *autoservice_run(void *ign)
 
                AST_LIST_UNLOCK(&aslist);
 
+               if (!x) {
+                       continue;
+               }
+
                chan = ast_waitfor_n(mons, x, &ms);
                if (!chan) {
                        continue;