summaryrefslogtreecommitdiff
path: root/channels/chan_mgcp.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-08-01 21:25:35 +0000
committerMark Spencer <markster@digium.com>2004-08-01 21:25:35 +0000
commit5abc3ecb56a273ac958b0f8c892a70d95a6060c4 (patch)
tree3e2bba6f3385489f7f6ed56912f552a0a8d8e386 /channels/chan_mgcp.c
parent87787b05ae45fbf102e7bf7afa9364d4a2fbbc3c (diff)
Don't reload subchannels of wild card endpoint on reload.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_mgcp.c')
-rwxr-xr-xchannels/chan_mgcp.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index 4073a7e6d..295328e3a 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -3570,29 +3570,29 @@ static struct mgcp_gateway *build_gateway(char *cat, struct ast_variable *v)
e->onhooktime = time(NULL);
/* ASSUME we're onhook */
e->hookstate = MGCP_ONHOOK;
- /*snprintf(txident, sizeof(txident), "%08x", rand());*/
- for (i = 0; i < MAX_SUBS; i++) {
- sub = malloc(sizeof(struct mgcp_subchannel));
- if (sub) {
- ast_verbose(VERBOSE_PREFIX_3 "Allocating subchannel '%d' on %s@%s\n", i, e->name, gw->name);
- memset(sub, 0, sizeof(struct mgcp_subchannel));
- ast_mutex_init(&sub->lock);
- ast_mutex_init(&sub->cx_queue_lock);
- sub->parent = e;
- sub->id = i;
- snprintf(sub->txident, sizeof(sub->txident), "%08x", rand());
- /*stnrcpy(sub->txident, txident, sizeof(sub->txident) - 1);*/
- sub->cxmode = MGCP_CX_INACTIVE;
- sub->nat = nat;
- sub->next = e->sub;
- e->sub = sub;
- } else {
- /* XXX Should find a way to clean up our memory */
- ast_log(LOG_WARNING, "Out of memory allocating subchannel");
- return NULL;
- }
- }
if (!ep_reload) {
+ /*snprintf(txident, sizeof(txident), "%08x", rand());*/
+ for (i = 0; i < MAX_SUBS; i++) {
+ sub = malloc(sizeof(struct mgcp_subchannel));
+ if (sub) {
+ ast_verbose(VERBOSE_PREFIX_3 "Allocating subchannel '%d' on %s@%s\n", i, e->name, gw->name);
+ memset(sub, 0, sizeof(struct mgcp_subchannel));
+ ast_mutex_init(&sub->lock);
+ ast_mutex_init(&sub->cx_queue_lock);
+ sub->parent = e;
+ sub->id = i;
+ snprintf(sub->txident, sizeof(sub->txident), "%08x", rand());
+ /*stnrcpy(sub->txident, txident, sizeof(sub->txident) - 1);*/
+ sub->cxmode = MGCP_CX_INACTIVE;
+ sub->nat = nat;
+ sub->next = e->sub;
+ e->sub = sub;
+ } else {
+ /* XXX Should find a way to clean up our memory */
+ ast_log(LOG_WARNING, "Out of memory allocating subchannel");
+ return NULL;
+ }
+ }
/* Make out subs a circular linked list so we can always sping through the whole bunch */
sub = e->sub;
/* find the end of the list */