Module: sip-router Branch: 3.2 Commit: b7787ed1ae6fdee66ec24285de3c841349406a97 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=b7787ed1...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: Fri Apr 20 15:35:49 2012 +0200
tm: reset T if t_continue() resumes a canceled transaction
- when the suspended transaction was already canceled, and t_continue was executed before transaction was destroyed, global variable T was left set, causing an extra unref by post script callback (cherry picked from commit 00193f5e1f0e9e12b55c50d33eaf6f3d32e8bb92)
---
modules/tm/t_suspend.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/modules/tm/t_suspend.c b/modules/tm/t_suspend.c index e6e2e35..35adcb1 100644 --- a/modules/tm/t_suspend.c +++ b/modules/tm/t_suspend.c @@ -133,6 +133,8 @@ int t_continue(unsigned int hash_index, unsigned int label, /* The transaction has already been canceled, * needless to continue */ UNREF(t); /* t_unref would kill the transaction */ + /* reset T as we have no working T anymore */ + set_t(T_UNDEFINED, T_BR_UNDEFINED); return 1; }