Improve handling of trying to ACK too many timer expirations.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@198183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/1.8.6
Russell Bryant 16 years ago
parent c317d8f444
commit 04beecc859

@ -357,9 +357,21 @@ static int check_timer(struct pthread_timer *timer)
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];

Loading…
Cancel
Save