dect
/
asterisk
Archived
13
0
Fork 0

Don't reload subchannels of wild card endpoint on reload.

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3566 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
markster 2004-08-01 21:25:35 +00:00
parent 71e6f3bccf
commit d96b7e454b
1 changed files with 22 additions and 22 deletions

View File

@ -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 */