mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 16:21:01 +00:00
Ensure the timer heap is protected by a lock.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3741,6 +3741,8 @@ static int reload_module(void)
|
|||||||
|
|
||||||
static int load_module(void)
|
static int load_module(void)
|
||||||
{
|
{
|
||||||
|
pj_lock_t *lock;
|
||||||
|
|
||||||
pj_log_set_level(0);
|
pj_log_set_level(0);
|
||||||
|
|
||||||
if (pj_init() != PJ_SUCCESS) {
|
if (pj_init() != PJ_SUCCESS) {
|
||||||
@@ -3767,6 +3769,14 @@ static int load_module(void)
|
|||||||
return AST_MODULE_LOAD_DECLINE;
|
return AST_MODULE_LOAD_DECLINE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pj_lock_create_recursive_mutex(pool, "rtp%p", &lock) != PJ_SUCCESS) {
|
||||||
|
pj_caching_pool_destroy(&cachingpool);
|
||||||
|
pj_shutdown();
|
||||||
|
return AST_MODULE_LOAD_DECLINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
pj_timer_heap_set_lock(timerheap, lock, PJ_TRUE);
|
||||||
|
|
||||||
if (pj_ioqueue_create(pool, 16, &ioqueue) != PJ_SUCCESS) {
|
if (pj_ioqueue_create(pool, 16, &ioqueue) != PJ_SUCCESS) {
|
||||||
pj_caching_pool_destroy(&cachingpool);
|
pj_caching_pool_destroy(&cachingpool);
|
||||||
pj_shutdown();
|
pj_shutdown();
|
||||||
|
Reference in New Issue
Block a user