From 56d10c56779c48a4118bfeab2a5a8a7d33055609 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Wed, 25 Apr 2012 00:03:52 +0000 Subject: Hangup affected channel in error paths of bridge_call_thread(). ........ Merged revisions 363375 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 363376 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@363377 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'main') diff --git a/main/features.c b/main/features.c index aea0d1e97..9a09058bd 100644 --- a/main/features.c +++ b/main/features.c @@ -967,17 +967,23 @@ static void *bridge_call_thread(void *data) if (!ast_check_hangup(tobj->peer)) { ast_log(LOG_VERBOSE, "putting peer %s into PBX again\n", ast_channel_name(tobj->peer)); res = ast_pbx_start(tobj->peer); - if (res != AST_PBX_SUCCESS) + if (res != AST_PBX_SUCCESS) { ast_log(LOG_WARNING, "FAILED continuing PBX on peer %s\n", ast_channel_name(tobj->peer)); - } else + ast_hangup(tobj->peer); + } + } else { ast_hangup(tobj->peer); + } if (!ast_check_hangup(tobj->chan)) { ast_log(LOG_VERBOSE, "putting chan %s into PBX again\n", ast_channel_name(tobj->chan)); res = ast_pbx_start(tobj->chan); - if (res != AST_PBX_SUCCESS) + if (res != AST_PBX_SUCCESS) { ast_log(LOG_WARNING, "FAILED continuing PBX on chan %s\n", ast_channel_name(tobj->chan)); - } else + ast_hangup(tobj->chan); + } + } else { ast_hangup(tobj->chan); + } } else { ast_hangup(tobj->chan); ast_hangup(tobj->peer); -- cgit v1.2.3