fix restart
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6184 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
90e8bef62d
commit
fb2c608511
|
@ -457,7 +457,8 @@ void *SWITCH_THREAD_FUNC sofia_profile_thread_run(switch_thread_t *thread, void
|
|||
su_root_run(profile->s_root);
|
||||
nua_destroy(profile->nua);
|
||||
|
||||
|
||||
switch_mutex_lock(profile->ireg_mutex);
|
||||
switch_mutex_unlock(profile->ireg_mutex);
|
||||
|
||||
if (switch_event_create(&s_event, SWITCH_EVENT_UNPUBLISH) == SWITCH_STATUS_SUCCESS) {
|
||||
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "service", "_sip._udp,_sip._tcp,_sip._sctp");
|
||||
|
|
|
@ -1658,9 +1658,27 @@ switch_status_t sofia_glue_add_profile(char *key, sofia_profile_t *profile)
|
|||
void sofia_glue_del_profile(sofia_profile_t *profile)
|
||||
{
|
||||
sofia_gateway_t *gp;
|
||||
|
||||
char *aliases[512];
|
||||
int i = 0, j = 0;
|
||||
switch_hash_index_t *hi;
|
||||
const void *var;
|
||||
void *val;
|
||||
|
||||
switch_mutex_lock(mod_sofia_globals.hash_mutex);
|
||||
switch_core_hash_delete(mod_sofia_globals.profile_hash, profile->name);
|
||||
|
||||
for (hi = switch_hash_first(NULL, mod_sofia_globals.profile_hash); hi; hi = switch_hash_next(hi)) {
|
||||
switch_hash_this(hi, &var, NULL, &val);
|
||||
aliases[i++] = strdup((char *) var);
|
||||
if (i == 512) {
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
for (j = 0; j < i && j < 512; j++) {
|
||||
switch_core_hash_delete(mod_sofia_globals.profile_hash, aliases[j]);
|
||||
free(aliases[j]);
|
||||
}
|
||||
|
||||
for (gp = profile->gateways; gp; gp = gp->next) {
|
||||
switch_core_hash_delete(mod_sofia_globals.gateway_hash, gp->name);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue