From 0c6bed8779024c0c35a9c1bb82dc24255d8f08e2 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Mon, 14 Sep 2015 12:53:54 +0200 Subject: [PATCH] tm: reset async suspended flag when continuing via failure_route - suspended transaction can be resumed automatically on timeout, without t_continue(), ending up in failure_route (cherry picked from commit 171553ebcac2f00a015191f36f2f228c0d3e483b) --- modules/tm/t_reply.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c index 8240cedba21..0041a4fc0b5 100644 --- a/modules/tm/t_reply.c +++ b/modules/tm/t_reply.c @@ -982,6 +982,8 @@ int run_failure_handlers(struct cell *t, struct sip_msg *rpl, * set next failure route, failure_route will not be reentered * on failure */ t->on_failure=0; + /* if continuing on timeout of a suspended transaction, reset the flag */ + t->flags &= ~T_ASYNC_SUSPENDED; if (exec_pre_script_cb(&faked_req, FAILURE_CB_TYPE)>0) { /* run a failure_route action if some was marked */ if (run_top_route(failure_rt.rlist[on_failure], &faked_req, 0)<0)