diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2012-03-22 11:29:20 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2012-03-22 11:29:20 +0000 |
commit | 759520a6f180a638027fdc7be58e12772247fe47 (patch) | |
tree | 4f070ee1947464a3a2ec66b875796f1b76aa1470 /pjsip/src/pjsip-ua | |
parent | 6496121f32e986850b48f6d5637e21ccddb1bb22 (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.c | 7 | ||||
-rw-r--r-- | pjsip/src/pjsip-ua/sip_timer.c | 6 |
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). |