]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Change the inequalities used in app_queue with regards
authorMark Michelson <mmichelson@digium.com>
Mon, 18 Aug 2008 20:01:14 +0000 (20:01 +0000)
committerMark Michelson <mmichelson@digium.com>
Mon, 18 Aug 2008 20:01:14 +0000 (20:01 +0000)
to timeouts from being strict to non-strict for more
accuracy.

(closes issue #13239)
Reported by: atis
Patches:
      app_queue_timeouts_v2.patch uploaded by atis (license 242)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138685 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c

index d303aa55f9f846824da680feefeaff25b4e56dc8..f04e517982ebe49d5761cd7d6a419154faab9420 100644 (file)
@@ -2426,7 +2426,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
                        break;
 
                /* If we have timed out, break out */
-               if (qe->expire && (time(NULL) > qe->expire)) {
+               if (qe->expire && (time(NULL) >= qe->expire)) {
                        *reason = QUEUE_TIMEOUT;
                        break;
                }
@@ -2455,7 +2455,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
                        break;
 
                /* If we have timed out, break out */
-               if (qe->expire && (time(NULL) > qe->expire)) {
+               if (qe->expire && (time(NULL) >= qe->expire)) {
                        *reason = QUEUE_TIMEOUT;
                        break;
                }
@@ -2466,7 +2466,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
                        break;
 
                /* If we have timed out, break out */
-               if (qe->expire && (time(NULL) > qe->expire)) {
+               if (qe->expire && (time(NULL) >= qe->expire)) {
                        *reason = QUEUE_TIMEOUT;
                        break;
                }
@@ -2480,7 +2480,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
                }
                
                /* If we have timed out, break out */
-               if (qe->expire && (time(NULL) > qe->expire)) {
+               if (qe->expire && (time(NULL) >= qe->expire)) {
                        *reason = QUEUE_TIMEOUT;
                        break;
                }
@@ -2725,7 +2725,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
         * This should be extremely rare. queue_exec will take care
         * of removing the caller and reporting the timeout as the reason.
         */
-       if (qe->expire && now > qe->expire) {
+       if (qe->expire && now >= qe->expire) {
                res = 0;
                goto out;
        }
@@ -3941,7 +3941,7 @@ check_turns:
                        enum queue_member_status stat;
 
                        /* Leave if we have exceeded our queuetimeout */
-                       if (qe.expire && (time(NULL) > qe.expire)) {
+                       if (qe.expire && (time(NULL) >= qe.expire)) {
                                record_abandoned(&qe);
                                reason = QUEUE_TIMEOUT;
                                res = 0;
@@ -3959,7 +3959,7 @@ check_turns:
                        makeannouncement = 1;
 
                        /* Leave if we have exceeded our queuetimeout */
-                       if (qe.expire && (time(NULL) > qe.expire)) {
+                       if (qe.expire && (time(NULL) >= qe.expire)) {
                                record_abandoned(&qe);
                                reason = QUEUE_TIMEOUT;
                                res = 0;
@@ -3972,7 +3972,7 @@ check_turns:
                                        goto stop;
 
                        /* Leave if we have exceeded our queuetimeout */
-                       if (qe.expire && (time(NULL) > qe.expire)) {
+                       if (qe.expire && (time(NULL) >= qe.expire)) {
                                record_abandoned(&qe);
                                reason = QUEUE_TIMEOUT;
                                res = 0;
@@ -4016,7 +4016,7 @@ check_turns:
                        }
 
                        /* Leave if we have exceeded our queuetimeout */
-                       if (qe.expire && (time(NULL) > qe.expire)) {
+                       if (qe.expire && (time(NULL) >= qe.expire)) {
                                record_abandoned(&qe);
                                reason = QUEUE_TIMEOUT;
                                res = 0;