summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjsip/src/pjsip/sip_transaction.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
index dfb0751b..d8af39e4 100644
--- a/pjsip/src/pjsip/sip_transaction.c
+++ b/pjsip/src/pjsip/sip_transaction.c
@@ -1610,14 +1610,14 @@ PJ_DEF(pj_status_t) pjsip_tsx_terminate( pjsip_transaction *tsx, int code )
PJ_ASSERT_RETURN(code >= 200, PJ_EINVAL);
- if (tsx->state >= PJSIP_TSX_STATE_TERMINATED)
- return PJ_SUCCESS;
-
pj_log_push_indent();
pj_grp_lock_acquire(tsx->grp_lock);
- tsx_set_status_code(tsx, code, NULL);
- tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, PJSIP_EVENT_USER, NULL);
+
+ if (tsx->state < PJSIP_TSX_STATE_TERMINATED) {
+ tsx_set_status_code(tsx, code, NULL);
+ tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, PJSIP_EVENT_USER, NULL);
+ }
pj_grp_lock_release(tsx->grp_lock);
pj_log_pop_indent();