diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-06-23 01:10:17 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-06-23 01:10:17 +0000 |
commit | b6171c4a923a593539f6d5e424332bb9e03556cc (patch) | |
tree | 6f1538273e011242dcb5c207a2ce9e9233d1b420 /pjsip | |
parent | 3c21d79e0e457e9c650958ae4f073e467671bcc5 (diff) |
Fixed memory and possibly handle leak when UDP transport is restarted
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1386 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/src/pjsip/sip_transport_udp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_transport_udp.c b/pjsip/src/pjsip/sip_transport_udp.c index 223c6659..43d671da 100644 --- a/pjsip/src/pjsip/sip_transport_udp.c +++ b/pjsip/src/pjsip/sip_transport_udp.c @@ -541,6 +541,10 @@ static pj_status_t register_to_ioqueue(struct udp_transport *tp) pj_ioqueue_t *ioqueue; pj_ioqueue_callback ioqueue_cb; + /* Ignore if already registered */ + if (tp->key != NULL) + return PJ_SUCCESS; + /* Register to ioqueue. */ ioqueue = pjsip_endpt_get_ioqueue(tp->base.endpt); pj_memset(&ioqueue_cb, 0, sizeof(ioqueue_cb)); @@ -831,6 +835,7 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_pause(pjsip_transport *transport, } } tp->sock = PJ_INVALID_SOCKET; + } PJ_LOG(4,(tp->base.obj_name, "SIP UDP transport paused")); |