提交 1c300a3c authored 作者: Christopher Rienzo's avatar Christopher Rienzo

mod_posix_timer -mutex fixes

上级 755771df
...@@ -68,13 +68,13 @@ static void posix_timer_notify(sigval_t data) ...@@ -68,13 +68,13 @@ static void posix_timer_notify(sigval_t data)
switch_mutex_unlock(it->mutex); switch_mutex_unlock(it->mutex);
if (globals.shutdown) { if (globals.shutdown) {
switch_mutex_lock(it->mutex); switch_mutex_lock(globals.interval_timers_mutex);
if (it->users) { if (it->users) {
timer_delete(it->timer); timer_delete(it->timer);
memset(&it->timer, 0, sizeof(it->timer)); memset(&it->timer, 0, sizeof(it->timer));
it->users = 0; it->users = 0;
} }
switch_mutex_unlock(it->mutex); switch_mutex_unlock(globals.interval_timers_mutex);
} }
} }
...@@ -133,8 +133,10 @@ static switch_status_t posix_timer_stop_interval(interval_timer_t *it) ...@@ -133,8 +133,10 @@ static switch_status_t posix_timer_stop_interval(interval_timer_t *it)
if (it->users > 0) { if (it->users > 0) {
it->users--; it->users--;
if (it->users == 0) { if (it->users == 0) {
switch_mutex_lock(it->mutex);
timer_delete(it->timer); timer_delete(it->timer);
memset(&it->timer, 0, sizeof(it->timer)); memset(&it->timer, 0, sizeof(it->timer));
switch_mutex_unlock(it->mutex);
} }
} }
return SWITCH_STATUS_SUCCESS; return SWITCH_STATUS_SUCCESS;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论