[asterisk-commits] russell: branch 1.2 r60134 -
/branches/1.2/manager.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Apr 4 10:38:48 MST 2007
Author: russell
Date: Wed Apr 4 12:38:47 2007
New Revision: 60134
URL: http://svn.digium.com/view/asterisk?view=rev&rev=60134
Log:
It is valid to redirect channels via the manager interface that are not in the
UP state. Instead of checking for that to prevent to ensure a dead channel
doesn't get redirected, just use the ast_check_hangup() API call.
(issue #9457, reported by Callmewind, patch by me)
(related to issue #8977)
Modified:
branches/1.2/manager.c
Modified: branches/1.2/manager.c
URL: http://svn.digium.com/view/asterisk/branches/1.2/manager.c?view=diff&rev=60134&r1=60133&r2=60134
==============================================================================
--- branches/1.2/manager.c (original)
+++ branches/1.2/manager.c Wed Apr 4 12:38:47 2007
@@ -885,15 +885,15 @@
astman_send_error(s, m, buf);
return 0;
}
- if (chan->_state != AST_STATE_UP) {
- astman_send_error(s, m, "Redirect failed, channel not up.\n");
+ if (ast_check_hangup(chan)) {
+ astman_send_error(s, m, "Redirect failed, channel hung up.\n");
ast_mutex_unlock(&chan->lock);
return 0;
}
if (!ast_strlen_zero(name2))
chan2 = ast_get_channel_by_name_locked(name2);
- if (chan2 && chan2->_state != AST_STATE_UP) {
- astman_send_error(s, m, "Redirect failed, extra channel not up.\n");
+ if (chan2 && ast_check_hangup(chan2)) {
+ astman_send_error(s, m, "Redirect failed, extra channel hung up.\n");
ast_mutex_unlock(&chan->lock);
ast_mutex_unlock(&chan2->lock);
return 0;
More information about the asterisk-commits
mailing list