mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
(closes issue #10579)
Reported by: ornati Make sure the called channel during the attended transfer process becomes associated with the calling channel so that the ast_waitfor_* call works properly under epoll. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1578,6 +1578,9 @@ static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *call
|
|||||||
x = 0;
|
x = 0;
|
||||||
started = ast_tvnow();
|
started = ast_tvnow();
|
||||||
to = timeout;
|
to = timeout;
|
||||||
|
|
||||||
|
ast_poll_channel_add(caller, chan);
|
||||||
|
|
||||||
while (!((transferee && ast_check_hangup(transferee)) && (!igncallerstate && ast_check_hangup(caller))) && timeout && (chan->_state != AST_STATE_UP)) {
|
while (!((transferee && ast_check_hangup(transferee)) && (!igncallerstate && ast_check_hangup(caller))) && timeout && (chan->_state != AST_STATE_UP)) {
|
||||||
struct ast_frame *f = NULL;
|
struct ast_frame *f = NULL;
|
||||||
|
|
||||||
@@ -1665,6 +1668,9 @@ static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *call
|
|||||||
if (f)
|
if (f)
|
||||||
ast_frfree(f);
|
ast_frfree(f);
|
||||||
} /* end while */
|
} /* end while */
|
||||||
|
|
||||||
|
ast_poll_channel_del(caller, chan);
|
||||||
|
|
||||||
} else
|
} else
|
||||||
ast_log(LOG_NOTICE, "Unable to call channel %s/%s\n", type, (char *)data);
|
ast_log(LOG_NOTICE, "Unable to call channel %s/%s\n", type, (char *)data);
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user