Merged revisions 155554 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
r155554 | seanbright | 2008-11-08 20:27:00 -0500 (Sat, 08 Nov 2008) | 14 lines

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/branches/1.6.1@155556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Sean Bright
2008-11-09 01:43:14 +00:00
parent 2f4460b0ea
commit 839cb83ea3
5 changed files with 57 additions and 51 deletions

View File

@@ -3211,6 +3211,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
@@ -3278,13 +3287,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);
@@ -3356,6 +3358,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)