ok great!

On Fri, 20 Mar 2015 at 13:58 Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Thanks. I will backport it -- just leaving it for a bit on master to see how things go and backport before next minor release.

Cheers,
Daniel


On 20/03/15 12:30, Jason Penton wrote:
Daniel, would you mind backporting if you feel it is necessary? I have no idea howto... ;)

Cheers
Jason

On Fri, 20 Mar 2015 at 13:29 jaybeepee <jason.penton@gmail.com> wrote:
Module: kamailio
Branch: master
Commit: 0ee3dc5e3edc49cf62f97ddd87a40b12c59b73ff
URL: https://github.com/kamailio/kamailio/commit/0ee3dc5e3edc49cf62f97ddd87a40b12c59b73ff

Author: jaybeepee <jason.penton@gmail.com>
Committer: jaybeepee <jason.penton@gmail.com>
Date: 2015-03-20T13:29:34+02:00

modules/tm: restore code to set blind uac branch last_reply > 200

---

Modified: modules/tm/t_suspend.c

---

Diff:  https://github.com/kamailio/kamailio/commit/0ee3dc5e3edc49cf62f97ddd87a40b12c59b73ff.diff
Patch: https://github.com/kamailio/kamailio/commit/0ee3dc5e3edc49cf62f97ddd87a40b12c59b73ff.patch

---

diff --git a/modules/tm/t_suspend.c b/modules/tm/t_suspend.c
index 4abfe72..cc4dd61 100644
--- a/modules/tm/t_suspend.c
+++ b/modules/tm/t_suspend.c
@@ -215,10 +215,15 @@ int t_continue(unsigned int hash_index, unsigned int label,
                                return 1;
                        }

-                       /*we really don't need this next line anymore otherwise we will
-                       never be able to forward replies after a (t_relay) on this branch.
-                       We want to try and treat this branch as 'normal' (as if it were a normal req, not async)' */
-                       //t->uac[branch].last_received=500;
+                       /* Set last_received to something >= 200,
++                       * the actual value does not matter, the branch
++                       * will never be picked up for response forwarding.
++                       * If last_received is lower than 200,
++                       * then the branch may tried to be cancelled later,
++                       * for example when t_reply() is called from
++                       * a failure route => deadlock, because both
++                       * of them need the reply lock to be held. */
+                       t->uac[branch].last_received=500;
                        uac = &t->uac[branch];
                }
                /* else


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio World Conference, May 27-29, 2015
Berlin, Germany - http://www.kamailioworld.com
_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev