summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip/sip_transport.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-07-28 20:17:04 +0000
committerBenny Prijono <bennylp@teluu.com>2008-07-28 20:17:04 +0000
commit70cf4f63468cc2661d4e72154936fe190bb92b26 (patch)
tree5ba17999ef71b2113e19dd3b923e09409691bf57 /pjsip/src/pjsip/sip_transport.c
parentdc4fedbe2b386a88da7727814a903773b759b706 (diff)
Ticket #538: Closed TCP connection should be removed from the hash table immediately
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2180 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip/sip_transport.c')
-rw-r--r--pjsip/src/pjsip/sip_transport.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c
index c0b520a6..9727858b 100644
--- a/pjsip/src/pjsip/sip_transport.c
+++ b/pjsip/src/pjsip/sip_transport.c
@@ -936,6 +936,12 @@ PJ_DEF(pj_status_t) pjsip_transport_shutdown(pjsip_transport *tp)
if (status == PJ_SUCCESS)
tp->is_shutdown = PJ_TRUE;
+ /* If transport reference count is zero, start timer count-down */
+ if (pj_atomic_get(tp->ref_cnt) == 0) {
+ pjsip_transport_add_ref(tp);
+ pjsip_transport_dec_ref(tp);
+ }
+
pj_lock_release(tp->lock);
pj_lock_release(mgr->lock);