]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
add QueueStatusComplete event (bug #4694 with minor mods)
authorKevin P. Fleming <kpfleming@digium.com>
Wed, 13 Jul 2005 16:44:55 +0000 (16:44 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Wed, 13 Jul 2005 16:44:55 +0000 (16:44 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6121 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_queue.c

index c0dea942625faba9af8245cfeb17664ccc5f36c0..8ea0e8647460a9d70b5c85c4cf206b2f8cf69ba0 100755 (executable)
@@ -3249,6 +3249,7 @@ static int manager_queues_status( struct mansession *s, struct message *m )
        if (!ast_strlen_zero(id)) {
                snprintf(idText,256,"ActionID: %s\r\n",id);
        }
+       ast_mutex_lock(&s->lock);
        for (q = queues; q; q = q->next) {
                ast_mutex_lock(&q->lock);
 
@@ -3256,7 +3257,6 @@ static int manager_queues_status( struct mansession *s, struct message *m )
                if (ast_strlen_zero(queuefilter) || !strcmp(q->name, queuefilter)) {
                        if(q->callscompleted > 0)
                                sl = 100*((float)q->callscompletedinsl/(float)q->callscompleted);
-                       ast_mutex_lock(&s->lock);
                        ast_cli(s->fd, "Event: QueueParams\r\n"
                                                "Queue: %s\r\n"
                                                "Max: %d\r\n"
@@ -3307,10 +3307,17 @@ static int manager_queues_status( struct mansession *s, struct message *m )
                                                (long)(now - qe->start), idText);
                        }
                }
-               ast_mutex_unlock(&s->lock);
                ast_mutex_unlock(&q->lock);
        }
        ast_mutex_unlock(&qlock);
+
+       ast_cli(s->fd,
+               "Event: QueueStatusComplete\r\n"
+               "%s"
+               "\r\n",idText);
+
+       ast_mutex_unlock(&s->lock);
+
        return RESULT_SUCCESS;
 }