summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip-ua
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2012-03-22 11:29:20 +0000
committerNanang Izzuddin <nanang@teluu.com>2012-03-22 11:29:20 +0000
commit759520a6f180a638027fdc7be58e12772247fe47 (patch)
tree4f070ee1947464a3a2ec66b875796f1b76aa1470 /pjsip/src/pjsip-ua
parent6496121f32e986850b48f6d5637e21ccddb1bb22 (diff)
Close #1466 (using PJLIB outside PJSUA-LIB context):
- static reference counter for PJLIB init/shutdown. - implemented atexit() in PJMEDIA and PJSIP level: pjmedia_endpt_atexit() & pjsip_endpt_atexit(). - updated pjmedia/transport_srtp.c, pjsip/sip_timer.c, and pjsip/sip_replaces.c to use the new atexit() functions. - API change: pjmedia_srtp_init_lib() now requires 'pjmedia_endpt' param. git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3986 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip-ua')
-rw-r--r--pjsip/src/pjsip-ua/sip_replaces.c7
-rw-r--r--pjsip/src/pjsip-ua/sip_timer.c6
2 files changed, 9 insertions, 4 deletions
diff --git a/pjsip/src/pjsip-ua/sip_replaces.c b/pjsip/src/pjsip-ua/sip_replaces.c
index 4707a510..70329f97 100644
--- a/pjsip/src/pjsip-ua/sip_replaces.c
+++ b/pjsip/src/pjsip-ua/sip_replaces.c
@@ -162,8 +162,10 @@ static pjsip_hdr *parse_hdr_replaces(pjsip_parse_ctx *ctx)
/* Deinitialize Replaces */
-static void pjsip_replaces_deinit_module(void)
+static void pjsip_replaces_deinit_module(pjsip_endpoint *endpt)
{
+ PJ_TODO(provide_initialized_flag_for_each_endpoint);
+ PJ_UNUSED_ARG(endpt);
is_initialized = PJ_FALSE;
}
@@ -191,7 +193,8 @@ PJ_DEF(pj_status_t) pjsip_replaces_init_module(pjsip_endpoint *endpt)
1, &STR_REPLACES);
/* Register deinit module to be executed when PJLIB shutdown */
- if (pj_atexit(&pjsip_replaces_deinit_module) != PJ_SUCCESS) {
+ if (pjsip_endpt_atexit(endpt, &pjsip_replaces_deinit_module) != PJ_SUCCESS)
+ {
/* Failure to register this function may cause this module won't
* work properly when the stack is restarted (without quitting
* application).
diff --git a/pjsip/src/pjsip-ua/sip_timer.c b/pjsip/src/pjsip-ua/sip_timer.c
index d907794f..17c83c24 100644
--- a/pjsip/src/pjsip-ua/sip_timer.c
+++ b/pjsip/src/pjsip-ua/sip_timer.c
@@ -495,8 +495,10 @@ static void stop_timer(pjsip_inv_session *inv)
}
/* Deinitialize Session Timers */
-static void pjsip_timer_deinit_module(void)
+static void pjsip_timer_deinit_module(pjsip_endpoint *endpt)
{
+ PJ_TODO(provide_initialized_flag_for_each_endpoint);
+ PJ_UNUSED_ARG(endpt);
is_initialized = PJ_FALSE;
}
@@ -531,7 +533,7 @@ PJ_DEF(pj_status_t) pjsip_timer_init_module(pjsip_endpoint *endpt)
return status;
/* Register deinit module to be executed when PJLIB shutdown */
- if (pj_atexit(&pjsip_timer_deinit_module) != PJ_SUCCESS) {
+ if (pjsip_endpt_atexit(endpt, &pjsip_timer_deinit_module) != PJ_SUCCESS) {
/* Failure to register this function may cause this module won't
* work properly when the stack is restarted (without quitting
* application).