From: Joshua Colp Date: Thu, 17 Mar 2016 16:19:22 +0000 (-0500) Subject: Merge "chan_sip.c: Made sip_reinvite_retry() call sip_pvt_lock_full()." X-Git-Tag: 14.0.0-beta1~331 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d63b4499e36b616851d4ebf9b5394540a77e4ac;p=thirdparty%2Fasterisk.git Merge "chan_sip.c: Made sip_reinvite_retry() call sip_pvt_lock_full()." --- 7d63b4499e36b616851d4ebf9b5394540a77e4ac diff --cc channels/chan_sip.c index 5c6f23fedb,13fe7cef1d..97cd6abb05 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@@ -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; }