[sr-dev] git:master:0ee3dc5e: modules/tm: restore code to set blind uac branch last_reply > 200

Jason Penton jason.penton at gmail.com
Fri Mar 20 12:30:47 CET 2015


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 at gmail.com> wrote:

> Module: kamailio
> Branch: master
> Commit: 0ee3dc5e3edc49cf62f97ddd87a40b12c59b73ff
> URL: https://github.com/kamailio/kamailio/commit/
> 0ee3dc5e3edc49cf62f97ddd87a40b12c59b73ff
>
> Author: jaybeepee <jason.penton at gmail.com>
> Committer: jaybeepee <jason.penton at 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 at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20150320/89b2f524/attachment.html>


More information about the sr-dev mailing list