[asterisk-commits] russell: trunk r198183 - /trunk/res/res_timing_pthread.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri May 29 17:33:34 CDT 2009
Author: russell
Date: Fri May 29 17:33:31 2009
New Revision: 198183
URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=198183
Log:
Improve handling of trying to ACK too many timer expirations.
Modified:
trunk/res/res_timing_pthread.c
Modified: trunk/res/res_timing_pthread.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/res/res_timing_pthread.c?view=diff&rev=198183&r1=198182&r2=198183
==============================================================================
--- trunk/res/res_timing_pthread.c (original)
+++ trunk/res/res_timing_pthread.c Fri May 29 17:33:31 2009
@@ -357,9 +357,21 @@
static void read_pipe(struct pthread_timer *timer, unsigned int quantity)
{
int rd_fd = timer->pipe[PIPE_READ];
+ int pending_ticks = timer->pending_ticks;
ast_assert(quantity);
- ast_assert(quantity >= timer->pending_ticks);
+
+ if (timer->continuous && pending_ticks) {
+ pending_ticks--;
+ }
+
+ if (quantity > pending_ticks) {
+ quantity = pending_ticks;
+ }
+
+ if (!quantity) {
+ return;
+ }
do {
unsigned char buf[1024];
More information about the asterisk-commits
mailing list