Index: main/features.c =================================================================== --- main/features.c (revision 295163) +++ main/features.c (working copy) @@ -3796,12 +3796,12 @@ continue; } - if (!(pfds[y].revents & (POLLIN | POLLERR))) { + if (!(pfds[y].revents & (POLLIN | POLLERR | POLLPRI))) { /* Next x */ continue; } - if (pfds[y].revents & POLLERR) { + if (pfds[y].revents & (POLLERR | POLLPRI)) { ast_set_flag(chan, AST_FLAG_EXCEPTION); } else { ast_clear_flag(chan, AST_FLAG_EXCEPTION); @@ -3855,7 +3855,7 @@ } *new_pfds = tmp; (*new_pfds)[*new_nfds].fd = chan->fds[x]; - (*new_pfds)[*new_nfds].events = POLLIN | POLLERR; + (*new_pfds)[*new_nfds].events = POLLIN | POLLERR | POLLPRI; (*new_pfds)[*new_nfds].revents = 0; (*new_nfds)++; }