mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-03 11:11:05 +00:00
res_pjsip: make it unloadable
The res_pjsip module was previously unloadable. With this patch it can now be unloaded. This patch is based off the original patch on the issue (listed below) by Corey Farrell with a few modifications. Namely, removed a few changes not required to make the module unloadable and also fixed a bug that would cause asterisk to crash on unloading. This patch is the first step (should hopefully be followed by another/others at some point) in allowing res_pjsip and the modules that depend on it to be unloadable. At this time, res_pjsip and some of the modules that depend on res_pjsip cannot be unloaded without causing problems of some sort. The goal of this patch is to get res_pjsip and only res_pjsip to be able to unload successfully and/or shutdown without incident (crashes, leaks, etc...). Other dependent modules may still cause problems on unload. Basically made sure, with the patch applied, that res_pjsip (with no other dependent modules loaded) could be succesfully unloaded and Asterisk could shutdown without any leaks or crashes that pertained directly to res_pjsip. ASTERISK-24485 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4311/ patches: pjsip_unload-broken-r1.patch submitted by Corey Farrell (license 5909) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -57,7 +57,15 @@ int ast_res_pjsip_init_contact_transports(void);
|
||||
* \retval 0 Success
|
||||
* \retval non-zero Failure
|
||||
*/
|
||||
int ast_sip_initialize_outbound_authentication(void);
|
||||
int internal_sip_initialize_outbound_authentication(void);
|
||||
|
||||
/*!
|
||||
* \brief Destroy outbound authentication support
|
||||
*
|
||||
* \retval 0 Success
|
||||
* \retval non-zero Failure
|
||||
*/
|
||||
void internal_sip_destroy_outbound_authentication(void);
|
||||
|
||||
/*!
|
||||
* \brief Initialize system configuration
|
||||
@@ -112,4 +120,24 @@ char *ast_sip_global_default_outbound_endpoint(void);
|
||||
int ast_sip_initialize_cli(void);
|
||||
void ast_sip_destroy_cli(void);
|
||||
|
||||
/*!
|
||||
* \internal \brief Used by res_pjsip.so to register a service without adding a self reference
|
||||
*/
|
||||
int internal_sip_register_service(pjsip_module *module);
|
||||
|
||||
/*!
|
||||
* \internal \brief Used by res_pjsip.so to unregister a service without removing a self reference
|
||||
*/
|
||||
int internal_sip_unregister_service(pjsip_module *module);
|
||||
|
||||
/*!
|
||||
* \internal \brief Used by res_pjsip.so to register an endpoint formatter without adding a self reference
|
||||
*/
|
||||
void internal_sip_register_endpoint_formatter(struct ast_sip_endpoint_formatter *obj);
|
||||
|
||||
/*!
|
||||
* \internal \brief Used by res_pjsip.so to unregister a endpoint formatter without removing a self reference
|
||||
*/
|
||||
int internal_sip_unregister_endpoint_formatter(struct ast_sip_endpoint_formatter *obj);
|
||||
|
||||
#endif /* RES_PJSIP_PRIVATE_H_ */
|
||||
|
Reference in New Issue
Block a user