From: Russell Bryant Date: Thu, 31 Jan 2008 21:33:33 +0000 (+0000) Subject: Fix a simple deadlock that was introduced _right_ before this code got merged X-Git-Tag: 1.6.0-beta3~2^2~115 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02357a64628e4bfdcc3a1940fdc5e369fb5c1643;p=thirdparty%2Fasterisk.git Fix a simple deadlock that was introduced _right_ before this code got merged into trunk. (closes issue #11895, reported by pj, patched by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101577 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 041ddaa31a..ee9fb337fb 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -17903,8 +17903,10 @@ static struct server_instance *sip_tcp_locate(struct sockaddr_in *s) AST_LIST_TRAVERSE(&threadl, th, list) { if ((s->sin_family == th->ser->requestor.sin_family) && (s->sin_addr.s_addr == th->ser->requestor.sin_addr.s_addr) && - (s->sin_port == th->ser->requestor.sin_port)) + (s->sin_port == th->ser->requestor.sin_port)) { + AST_LIST_UNLOCK(&threadl); return th->ser; + } } AST_LIST_UNLOCK(&threadl); return NULL;