diff options
author | Jenkins2 <jenkins2@gerrit.asterisk.org> | 2017-08-25 09:07:53 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2017-08-25 09:07:53 -0500 |
commit | 28857047da01fec681656802ea3f0981170ac9b1 (patch) | |
tree | 0fcd771083640dc2c3bb9442789f3f518645cf74 /apps | |
parent | c0251ae004815ee8d4925db5e78c89d99d29272b (diff) | |
parent | 579d4593acbd9bb2f07fa3c71a0e6ba9447ec5ca (diff) |
Merge "app_queue: Evaluate realtime queues when running dialplan functions" into 13
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_queue.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 678b4a737..3fed5dcb6 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -7460,12 +7460,10 @@ static int set_member_value(const char *queuename, const char *interface, int pr static int get_member_penalty(char *queuename, char *interface) { int foundqueue = 0, penalty; - struct call_queue *q, tmpq = { - .name = queuename, - }; + struct call_queue *q; struct member *mem; - if ((q = ao2_t_find(queues, &tmpq, OBJ_POINTER, "Search for queue"))) { + if ((q = find_load_queue_rt_friendly(queuename))) { foundqueue = 1; ao2_lock(q); if ((mem = interface_exists(q, interface))) { @@ -8216,10 +8214,7 @@ stop: static int queue_function_var(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) { int res = -1; - struct call_queue *q, tmpq = { - .name = data, - }; - + struct call_queue *q; char interfacevar[256] = ""; float sl = 0; @@ -8228,7 +8223,7 @@ static int queue_function_var(struct ast_channel *chan, const char *cmd, char *d return -1; } - if ((q = ao2_t_find(queues, &tmpq, OBJ_POINTER, "Find for QUEUE() function"))) { + if ((q = find_load_queue_rt_friendly(data))) { ao2_lock(q); if (q->setqueuevar) { sl = 0; @@ -8547,9 +8542,7 @@ static int queue_function_queuewaitingcount(struct ast_channel *chan, const char /*! \brief Dialplan function QUEUE_MEMBER_LIST() Get list of members in a specific queue */ static int queue_function_queuememberlist(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len) { - struct call_queue *q, tmpq = { - .name = data, - }; + struct call_queue *q; struct member *m; /* Ensure an otherwise empty list doesn't return garbage */ @@ -8560,7 +8553,7 @@ static int queue_function_queuememberlist(struct ast_channel *chan, const char * return -1; } - if ((q = ao2_t_find(queues, &tmpq, OBJ_POINTER, "Find for QUEUE_MEMBER_LIST()"))) { + if ((q = find_load_queue_rt_friendly(data))) { int buflen = 0, count = 0; struct ao2_iterator mem_iter; |