mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-19 03:08:45 +00:00
Fix issue where queue log events might be missing. (issue #7765 reported by mtryfoss)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@72327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -2052,6 +2052,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
|
|||||||
/* leave the queue if no agents, if enabled */
|
/* leave the queue if no agents, if enabled */
|
||||||
if (qe->parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) {
|
if (qe->parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) {
|
||||||
*reason = QUEUE_LEAVEEMPTY;
|
*reason = QUEUE_LEAVEEMPTY;
|
||||||
|
ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long)(time(NULL) - qe->start));
|
||||||
leave_queue(qe);
|
leave_queue(qe);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2059,6 +2060,7 @@ static int wait_our_turn(struct queue_ent *qe, int ringing, enum queue_result *r
|
|||||||
/* leave the queue if no reachable agents, if enabled */
|
/* leave the queue if no reachable agents, if enabled */
|
||||||
if ((qe->parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) {
|
if ((qe->parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) {
|
||||||
*reason = QUEUE_LEAVEUNAVAIL;
|
*reason = QUEUE_LEAVEUNAVAIL;
|
||||||
|
ast_queue_log(qe->parent->name, qe->chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe->pos, qe->opos, (long)(time(NULL) - qe->start));
|
||||||
leave_queue(qe);
|
leave_queue(qe);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -3172,6 +3174,7 @@ check_turns:
|
|||||||
if (qe.parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) {
|
if (qe.parent->leavewhenempty && (stat == QUEUE_NO_MEMBERS)) {
|
||||||
record_abandoned(&qe);
|
record_abandoned(&qe);
|
||||||
reason = QUEUE_LEAVEEMPTY;
|
reason = QUEUE_LEAVEEMPTY;
|
||||||
|
ast_queue_log(queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start));
|
||||||
res = 0;
|
res = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -3180,6 +3183,7 @@ check_turns:
|
|||||||
if ((qe.parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) {
|
if ((qe.parent->leavewhenempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) {
|
||||||
record_abandoned(&qe);
|
record_abandoned(&qe);
|
||||||
reason = QUEUE_LEAVEUNAVAIL;
|
reason = QUEUE_LEAVEUNAVAIL;
|
||||||
|
ast_queue_log(queuename, chan->uniqueid, "NONE", "EXITEMPTY", "%d|%d|%ld", qe.pos, qe.opos, (long)(time(NULL) - qe.start));
|
||||||
res = 0;
|
res = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user