diff --git a/apps/app_queue.c b/apps/app_queue.c index 5848bb2e1a540357bc383841d2cdbeebb1d483fe..d0b6affc0e2caabc6a8a70da660f25e4354d2bf4 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2079,8 +2079,10 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte starttime = (long) time(NULL); #ifdef HAVE_EPOLL - for (epollo = outgoing; epollo; epollo = epollo->q_next) - ast_poll_channel_add(in, epollo->chan); + for (epollo = outgoing; epollo; epollo = epollo->q_next) { + if(epollo->chan) + ast_poll_channel_add(in, epollo->chan); + } #endif while (*to && !peer) { @@ -2287,8 +2289,10 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte } #ifdef HAVE_EPOLL - for(epollo = outgoing; epollo; epollo = epollo->q_next) - ast_poll_channel_del(in, epollo->chan); + for(epollo = outgoing; epollo; epollo = epollo->q_next) { + if(epollo->chan) + ast_poll_channel_del(in, epollo->chan); + } #endif return peer;