summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMatthew Nicholson <mnicholson@digium.com>2011-05-09 14:11:57 +0000
committerMatthew Nicholson <mnicholson@digium.com>2011-05-09 14:11:57 +0000
commit5b77bb50602e86af0cae197d9043a9fe49bc7b94 (patch)
treef230f6fe0f1c3d2862442f2dbc379a7131898f67 /main
parent229e066dcbd8419db16ea5fe1a1804fb96e63cb4 (diff)
Merged revisions 318142 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r318142 | mnicholson | 2011-05-09 09:09:38 -0500 (Mon, 09 May 2011) | 9 lines Make indicate/control frames WRITE events on framehooks. Also, if a framehook returns a non-control frame, don't forward it to the channel. (closes issue #19251) Reported by: irroot Patches: (modified) framehook_indicate.patch2 uploaded by irroot (license 52) Tested by: irroot ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/channel.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index 37e547914..35fdea7d4 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -4323,7 +4323,9 @@ int ast_indicate_data(struct ast_channel *chan, int _condition,
awesome_frame = ast_frdup(&frame);
/* who knows what we will get back! the anticipation is killing me. */
- if (!(awesome_frame = ast_framehook_list_read_event(chan->framehooks, awesome_frame))) {
+ if (!(awesome_frame = ast_framehook_list_write_event(chan->framehooks, awesome_frame))
+ || awesome_frame->frametype != AST_FRAME_CONTROL) {
+
res = 0;
goto indicate_cleanup;
}