summaryrefslogtreecommitdiff
path: root/apps/app_queue.c
diff options
context:
space:
mode:
authorSean Bright <sean@malleable.com>2008-11-09 01:27:00 +0000
committerSean Bright <sean@malleable.com>2008-11-09 01:27:00 +0000
commit9ef09ad1d464defbef1775281e7666af888b6086 (patch)
tree9d9c7d00ae1f93a61488a183927f7571484ce363 /apps/app_queue.c
parentef489f81950b664d0bf226459364b29191871109 (diff)
Merged revisions 155553 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r155553 | seanbright | 2008-11-08 20:08:07 -0500 (Sat, 08 Nov 2008) | 6 lines Use static functions here instead of nested ones. This requires a small change to the ast_bridge_config struct as well. To understand the reason for this change, see the following post: http://gcc.gnu.org/ml/gcc-help/2008-11/msg00049.html ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@155554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r--apps/app_queue.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 41ed743e3..b3081028d 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -3354,6 +3354,15 @@ static void setup_transfer_datastore(struct queue_ent *qe, struct member *member
ast_channel_unlock(qe->chan);
}
+static void end_bridge_callback(void *data)
+{
+ struct queue_ent *qe = data;
+
+ ao2_lock(qe->parent);
+ set_queue_variables(qe);
+ ao2_unlock(qe->parent);
+}
+
/*! \brief A large function which calls members, updates statistics, and bridges the caller and a member
*
* Here is the process of this function
@@ -3421,13 +3430,6 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
int callcompletedinsl;
struct ao2_iterator memi;
struct ast_datastore *datastore;
- auto void end_bridge_callback(void);
- void end_bridge_callback(void)
- {
- ao2_lock(qe->parent);
- set_queue_variables(qe);
- ao2_unlock(qe->parent);
- }
ast_channel_lock(qe->chan);
datastore = ast_channel_datastore_find(qe->chan, &dialed_interface_info, NULL);
@@ -3499,6 +3501,7 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
}
bridge_config.end_bridge_callback = end_bridge_callback;
+ bridge_config.end_bridge_callback_data = qe;
/* Hold the lock while we setup the outgoing calls */
if (use_weight)