summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2011-01-20 19:58:54 +0000
committerShaun Ruffell <sruffell@digium.com>2011-01-20 19:58:54 +0000
commit80f6848ca3545bcced471ceafacb1a79c0ed834b (patch)
treee9269a0d69136efd29e041f4eb280d3d8afaf4c8
parenta4fec286f81e4877b1736428a317d1dfc51fa9d9 (diff)
Merged revisions 303107 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r303107 | sruffell | 2011-01-20 13:57:31 -0600 (Thu, 20 Jan 2011) | 23 lines Merged revisions 303106 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r303106 | sruffell | 2011-01-20 13:56:34 -0600 (Thu, 20 Jan 2011) | 15 lines main/features: Use POLLPRI when waiting for events on parked channels. This change resolves a regression in the 1.6.2 when converting from select to poll. The DAHDI timers use POLLPRI to indicate that the timer fired, but features was not waiting for that flag. The result was no audio for MOH when a call was parked and res_timing_dahdi was in use. This patch is slightly modified from the one on the mantis issue. It does not set an exception on the channel if the POLLPRI flag is set. (closes issue #18262) Reported by: francesco_r Patches: patch_park_moh-trunk-2.txt uploaded by cjacobsen (license 1029) Tested by: francesco_r, rfrantik, one47 ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--main/features.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/main/features.c b/main/features.c
index 0eecf8e51..9f10ea664 100644
--- a/main/features.c
+++ b/main/features.c
@@ -4117,7 +4117,7 @@ int manage_parkinglot(struct ast_parkinglot *curlot, const struct pollfd *pfds,
continue;
}
- if (!(pfds[y].revents & (POLLIN | POLLERR))) {
+ if (!(pfds[y].revents & (POLLIN | POLLERR | POLLPRI))) {
/* Next x */
continue;
}
@@ -4176,7 +4176,7 @@ std: for (x = 0; x < AST_MAX_FDS; x++) { /* mark fds for next round */
}
*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)++;
}