During some refactoring the way private information for timers
was stored was changed. As a result of this the action which normally
removed the timer upon closure in res_timing_pthread was also removed
causing the timer to remain after it should using up resources.
This change ensures that the timer is removed upon closure.
ASTERISK-24768 #close
Reported by: Matthias Urlichs
patches:
timer.patch submitted by Matthias Urlichs (license 5508)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@431807
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
ast_cond_signal(&timing_thread.cond);
ast_mutex_unlock(&timing_thread.lock);
}
- ao2_link(pthread_timers, timer);
+ ao2_link_flags(pthread_timers, timer, OBJ_NOLOCK);
ao2_unlock(pthread_timers);
return timer;
{
struct pthread_timer *timer = data;
+ ao2_unlink(pthread_timers, timer);
ao2_ref(timer, -1);
}