]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merge "chan_sip.c: Made sip_reinvite_retry() call sip_pvt_lock_full()."
authorJoshua Colp <jcolp@digium.com>
Thu, 17 Mar 2016 16:19:22 +0000 (11:19 -0500)
committerGerrit Code Review <gerrit2@gerrit.digium.api>
Thu, 17 Mar 2016 16:19:23 +0000 (11:19 -0500)
1  2 
channels/chan_sip.c

index 5c6f23fedbb698b602cc9cc71292c9fe99cdf269,13fe7cef1d677644be9d217a34d6c6e2ab5f6772..97cd6abb05e410081097265c606572cc908e040a
@@@ -23290,19 -22896,9 +23285,20 @@@ static int sip_reinvite_retry(const voi
        sip_pvt_unlock(p);
        if (owner) {
                ast_channel_unlock(owner);
+               ast_channel_unref(owner);
        }
 -      dialog_unref(p, "unref the dialog ptr from sip_reinvite_retry, because it held a dialog ptr");
 +      dialog_unref(p, "Schedule waitid complete");
 +      return 0;
 +}
 +
 +/* Run by the sched thread. */
 +static int __stop_reinvite_retry(const void *data)
 +{
 +      struct sip_pvt *pvt = (void *) data;
 +
 +      AST_SCHED_DEL_UNREF(sched, pvt->waitid,
 +              dialog_unref(pvt, "Stop scheduled waitid"));
 +      dialog_unref(pvt, "Stop reinvite retry action");
        return 0;
  }