From 83bc091ac3c72a816c87e9c8365dc7ac4f788cb2 Mon Sep 17 00:00:00 2001
From: David Vossel <dvossel@digium.com>
Date: Wed, 8 Sep 2010 22:15:34 +0000
Subject: [PATCH] Merged revisions 285568 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r285568 | dvossel | 2010-09-08 17:14:19 -0500 (Wed, 08 Sep 2010) | 16 lines

  Merged revisions 285567 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ................
    r285567 | dvossel | 2010-09-08 17:11:28 -0500 (Wed, 08 Sep 2010) | 9 lines

    Merged revisions 285566 via svnmerge from
    https://origsvn.digium.com/svn/asterisk/branches/1.4

    ........
      r285566 | dvossel | 2010-09-08 17:07:31 -0500 (Wed, 08 Sep 2010) | 2 lines

      In retrans_pkt, do not unlock pvt until the end of the function on a transmit failure.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 81309d19dc..d877dea9bc 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -3357,7 +3357,6 @@ static int retrans_pkt(const void *data)
 
 		append_history(pkt->owner, "ReTx", "%d %s", reschedule, pkt->data->str);
 		xmitres = __sip_xmit(pkt->owner, pkt->data, pkt->packetlen);
-		sip_pvt_unlock(pkt->owner);
 
 		/* If there was no error during the network transmission, schedule the next retransmission,
 		 * but if the next retransmission is going to be beyond our timeout period, mark the packet's
@@ -3369,6 +3368,7 @@ static int retrans_pkt(const void *data)
 				pkt->retrans_stop = 1;
 				reschedule = diff;
 			}
+			sip_pvt_unlock(pkt->owner);
 			return  reschedule;
 		}
 	}
-- 
GitLab