summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-05-30 15:20:56 +0000
committerBenny Prijono <bennylp@teluu.com>2007-05-30 15:20:56 +0000
commit2006ce34e4f5e1e85b55e2fbe422636ed1325498 (patch)
tree2284a9bcfe9b85b20b64f4b5dcc1cff18f132ba1
parent5f954d777732cf60bce875ca01bff005ab789a25 (diff)
Fixed ticket #311: PJSIP resolver is not destroyed on shutdown (thanks Martin Peterzon)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1323 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib-util/src/pjlib-util/resolver.c10
-rw-r--r--pjsip/src/pjsip/sip_endpoint.c3
2 files changed, 8 insertions, 5 deletions
diff --git a/pjlib-util/src/pjlib-util/resolver.c b/pjlib-util/src/pjlib-util/resolver.c
index 080249a5..57ee4817 100644
--- a/pjlib-util/src/pjlib-util/resolver.c
+++ b/pjlib-util/src/pjlib-util/resolver.c
@@ -363,11 +363,6 @@ PJ_DEF(pj_status_t) pj_dns_resolver_destroy( pj_dns_resolver *resolver,
resolver->timer = NULL;
}
- if (resolver->own_ioqueue && resolver->ioqueue) {
- pj_ioqueue_destroy(resolver->ioqueue);
- resolver->ioqueue = NULL;
- }
-
if (resolver->udp_key != NULL) {
pj_ioqueue_unregister(resolver->udp_key);
resolver->udp_key = NULL;
@@ -377,6 +372,11 @@ PJ_DEF(pj_status_t) pj_dns_resolver_destroy( pj_dns_resolver *resolver,
resolver->udp_sock = PJ_INVALID_SOCKET;
}
+ if (resolver->own_ioqueue && resolver->ioqueue) {
+ pj_ioqueue_destroy(resolver->ioqueue);
+ resolver->ioqueue = NULL;
+ }
+
if (resolver->mutex) {
pj_mutex_destroy(resolver->mutex);
resolver->mutex = NULL;
diff --git a/pjsip/src/pjsip/sip_endpoint.c b/pjsip/src/pjsip/sip_endpoint.c
index 3fcf9126..33620009 100644
--- a/pjsip/src/pjsip/sip_endpoint.c
+++ b/pjsip/src/pjsip/sip_endpoint.c
@@ -578,6 +578,9 @@ PJ_DEF(void) pjsip_endpt_destroy(pjsip_endpoint *endpt)
mod = prev;
}
+ /* Destroy resolver */
+ pjsip_resolver_destroy(endpt->resolver);
+
/* Shutdown and destroy all transports. */
pjsip_tpmgr_destroy(endpt->transport_mgr);