From 02357a64628e4bfdcc3a1940fdc5e369fb5c1643 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Thu, 31 Jan 2008 21:33:33 +0000 Subject: [PATCH] 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 --- channels/chan_sip.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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;