switch_mutex_unlock(it->mutex);
if (globals.shutdown) {
- switch_mutex_lock(it->mutex);
+ switch_mutex_lock(globals.interval_timers_mutex);
if (it->users) {
timer_delete(it->timer);
memset(&it->timer, 0, sizeof(it->timer));
it->users = 0;
}
- switch_mutex_unlock(it->mutex);
+ switch_mutex_unlock(globals.interval_timers_mutex);
}
}
if (it->users > 0) {
it->users--;
if (it->users == 0) {
+ switch_mutex_lock(it->mutex);
timer_delete(it->timer);
memset(&it->timer, 0, sizeof(it->timer));
+ switch_mutex_unlock(it->mutex);
}
}
return SWITCH_STATUS_SUCCESS;