]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 285567 via svnmerge from
authorDavid Vossel <dvossel@digium.com>
Wed, 8 Sep 2010 22:14:19 +0000 (22:14 +0000)
committerDavid Vossel <dvossel@digium.com>
Wed, 8 Sep 2010 22:14:19 +0000 (22:14 +0000)
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/branches/1.8@285568 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 2293c0f458e14f2b19541cfbefcbe2d7ed5442ca..805b372adb39586fe088d388203fe6f3e69f6d6c 100644 (file)
@@ -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;
                }
        }