mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
res_pjsip: Enable unload of all modules at shutdown.
* Move most of res_pjsip:module_unload to unload_pjsip to resolve crashes caused by running PJSIP functions from non-PJSIP threads. * Remove call to pjsip_endpt_destroy(ast_pjsip_endpoint), it was causing crashes in some cases. In theory pj_shutdown() should take care of this. * Mark res_pjsip_keepalive and res_pjsip_session as allowed to unload at shutdown. * Resolve leaked config global in res_pjsip_notify. * Unregister pubsub pjsip service module. * Implement cleanup for res_pjsip_session. ASTERISK-24731 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4498/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@433469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -2641,14 +2641,18 @@ static int load_module(void)
|
||||
}
|
||||
ast_sip_register_service(&session_reinvite_module);
|
||||
|
||||
ast_module_ref(ast_module_info->self);
|
||||
ast_module_shutdown_ref(ast_module_info->self);
|
||||
|
||||
return AST_MODULE_LOAD_SUCCESS;
|
||||
}
|
||||
|
||||
static int unload_module(void)
|
||||
{
|
||||
/* This will never get called as this module can't be unloaded */
|
||||
ast_sip_unregister_service(&session_reinvite_module);
|
||||
ast_sip_unregister_service(&session_module);
|
||||
ast_sorcery_delete(ast_sip_get_sorcery(), nat_hook);
|
||||
ao2_cleanup(nat_hook);
|
||||
ao2_cleanup(sdp_handlers);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user