[svn-commits] rmudgett: branch rmudgett/bridge_tasks r428144 - in /team/rmudgett/bridge_tas...
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Mon Nov 17 10:49:49 CST 2014
Author: rmudgett
Date: Mon Nov 17 10:49:45 2014
New Revision: 428144
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=428144
Log:
Reslove; reset automerge
Modified:
team/rmudgett/bridge_tasks/ (props changed)
team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c
team/rmudgett/bridge_tasks/channels/chan_sip.c
Propchange: team/rmudgett/bridge_tasks/
------------------------------------------------------------------------------
automerge = *
Propchange: team/rmudgett/bridge_tasks/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.
Propchange: team/rmudgett/bridge_tasks/
------------------------------------------------------------------------------
--- bridge_tasks-integrated (original)
+++ bridge_tasks-integrated Mon Nov 17 10:49:45 2014
@@ -1,1 +1,1 @@
-/trunk:1-428075
+/trunk:1-428143
Modified: team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c?view=diff&rev=428144&r1=428143&r2=428144
==============================================================================
--- team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c (original)
+++ team/rmudgett/bridge_tasks/apps/confbridge/conf_state_multi_marked.c Mon Nov 17 10:49:45 2014
@@ -86,8 +86,6 @@
conf_remove_user_marked(user->conference, user);
if (user->conference->markedusers == 0) {
- need_prompt = 1;
-
AST_LIST_TRAVERSE_SAFE_BEGIN(&user->conference->active_list, user_iter, list) {
/* Kick ENDMARKED cbu_iters */
if (ast_test_flag(&user_iter->u_profile, USER_OPT_ENDMARKED) && !user_iter->kicked) {
@@ -101,8 +99,15 @@
ast_bridge_remove(user_iter->conference->bridge, user_iter->chan);
} else if (ast_test_flag(&user_iter->u_profile, USER_OPT_WAITMARKED)
&& !ast_test_flag(&user_iter->u_profile, USER_OPT_MARKEDUSER)) {
+ need_prompt = 1;
+
conf_remove_user_active(user_iter->conference, user_iter);
conf_add_user_waiting(user_iter->conference, user_iter);
+ } else {
+ /* User is neither wait_marked nor end_marked; however, they
+ * should still hear the prompt.
+ */
+ need_prompt = 1;
}
}
AST_LIST_TRAVERSE_SAFE_END;
Modified: team/rmudgett/bridge_tasks/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_tasks/channels/chan_sip.c?view=diff&rev=428144&r1=428143&r2=428144
==============================================================================
--- team/rmudgett/bridge_tasks/channels/chan_sip.c (original)
+++ team/rmudgett/bridge_tasks/channels/chan_sip.c Mon Nov 17 10:49:45 2014
@@ -1258,6 +1258,7 @@
static struct ast_channel *sip_pvt_lock_full(struct sip_pvt *pvt);
/* static int sip_addrcmp(char *name, struct sockaddr_in *sin); Support for peer matching */
static int sip_refer_alloc(struct sip_pvt *p);
+static void sip_refer_destroy(struct sip_pvt *p);
static int sip_notify_alloc(struct sip_pvt *p);
static int do_magic_pickup(struct ast_channel *channel, const char *extension, const char *context);
static void set_peer_nat(const struct sip_pvt *p, struct sip_peer *peer);
@@ -6485,11 +6486,7 @@
ast_udptl_destroy(p->udptl);
p->udptl = NULL;
}
- if (p->refer) {
- ast_string_field_free_memory(p->refer);
- ast_free(p->refer);
- p->refer = NULL;
- }
+ sip_refer_destroy(p);
sip_route_clear(&p->route);
deinit_req(&p->initreq);
@@ -15564,8 +15561,19 @@
/*! \brief Allocate SIP refer structure */
static int sip_refer_alloc(struct sip_pvt *p)
{
+ sip_refer_destroy(p);
p->refer = ast_calloc_with_stringfields(1, struct sip_refer, 512);
return p->refer ? 1 : 0;
+}
+
+/*! \brief Destroy SIP refer structure */
+static void sip_refer_destroy(struct sip_pvt *p)
+{
+ if (p->refer) {
+ ast_string_field_free_memory(p->refer);
+ ast_free(p->refer);
+ p->refer = NULL;
+ }
}
/*! \brief Allocate SIP refer structure */
@@ -18123,8 +18131,9 @@
struct sip_refer *refer = NULL;
const char *transfer_context = NULL;
- if (!p->refer && !sip_refer_alloc(p))
+ if (!sip_refer_alloc(p)) {
return -1;
+ }
refer = p->refer;
@@ -25246,7 +25255,7 @@
replace_id = ast_strdupa(p_replaces);
ast_uri_decode(replace_id, ast_uri_sip_user);
- if (!p->refer && !sip_refer_alloc(p)) {
+ if (!sip_refer_alloc(p)) {
transmit_response_reliable(p, "500 Server Internal Error", req);
append_history(p, "Xfer", "INVITE/Replace Failed. Out of memory.");
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
@@ -26105,7 +26114,7 @@
}
/* Allocate memory for call transfer data */
- if (!p->refer && !sip_refer_alloc(p)) {
+ if (!sip_refer_alloc(p)) {
transmit_response(p, "500 Internal Server Error", req);
append_history(p, "Xfer", "Refer failed. Memory allocation error.");
return -3;
More information about the svn-commits
mailing list