diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-05-20 02:51:53 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-05-20 02:51:53 +0000 |
commit | 83b19113e394a32562a6bbc92d816f61aeb1bc6a (patch) | |
tree | 21422757ea0f8769003daac37b72782cf07fe1ab /apps | |
parent | 6e7e4d9fa8eb894b9faf35815088c39b7af86256 (diff) |
Merged revisions 28968 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r28968 | kpfleming | 2006-05-19 21:35:53 -0500 (Fri, 19 May 2006) | 2 lines
don't allow queue member devices to ring longer than the total queue timeout (issue #6423, reported and patched by bcnit)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@28970 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_queue.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index fbdff1553..e42ba3685 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2201,7 +2201,10 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce free(tmp); } } - to = (qe->parent->timeout) ? qe->parent->timeout * 1000 : -1; + if (qe->expire && (!qe->parent->timeout || (qe->expire - now) <= qe->parent->timeout)) + to = (qe->expire - now) * 1000; + else + to = (qe->parent->timeout) ? qe->parent->timeout * 1000 : -1; ring_one(qe, outgoing, &numbusies); ast_mutex_unlock(&qe->parent->lock); if (use_weight) |