diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-08 15:28:50 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-08 15:28:50 +0000 |
commit | 1fd970b2fb43312c63063dde76e215a40a8e7598 (patch) | |
tree | 924579b48ca785105d038834b7e00c0d1a6775e8 /main | |
parent | 69b1a0be2c125e6cc8ce6f5e009503aadf787017 (diff) |
Merged revisions 186985 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r186985 | mmichelson | 2009-04-08 10:27:41 -0500 (Wed, 08 Apr 2009) | 30 lines
Merged revisions 186984 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r186984 | mmichelson | 2009-04-08 10:26:46 -0500 (Wed, 08 Apr 2009) | 24 lines
Make a couple of changes with regards to a new message printed in ast_read().
"ast_read() called with no recorded file descriptor" is a new message added
after a bug was discovered. Unfortunately, it seems there are a bunch of places
that potentially make such calls to ast_read() and trigger this error message
to be displayed. This commit does two things to help to make this message appear
less.
First, the message has been downgraded to a debug level message if dev mode is
not enabled. The message means a lot more to developers than it does to end users,
and so developers should take an effort to be sure to call ast_read only when
a channel is ready to be read from. However, since this doesn't actually cause an
error in operation and is not something a user can easily fix, we should not spam
their console with these messages.
Second, the message has been moved to after the check for any pending masquerades.
ast_read() being called with no recorded file descriptor should not interfere with
a masquerade taking place.
This could be seen as a simple way of resolving issue #14723. However, I still want
to try to clear out the existing ways of triggering this message, since I feel that
would be a better resolution for the issue.
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@186987 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/channel.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/main/channel.c b/main/channel.c index e54742982..ff9c68f60 100644 --- a/main/channel.c +++ b/main/channel.c @@ -2513,12 +2513,6 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio) usleep(1); } - if (chan->fdno == -1) { - ast_log(LOG_ERROR, "ast_read() called with no recorded file descriptor.\n"); - f = &ast_null_frame; - goto done; - } - if (chan->masq) { if (ast_do_masquerade(chan)) ast_log(LOG_WARNING, "Failed to perform masquerade\n"); @@ -2527,6 +2521,16 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio) goto done; } + if (chan->fdno == -1) { +#ifdef AST_DEVMODE + ast_log(LOG_ERROR, "ast_read() called with no recorded file descriptor.\n"); +#else + ast_debug(2, "ast_read() called with no recorded file descriptor.\n"); +#endif + f = &ast_null_frame; + goto done; + } + /* Stop if we're a zombie or need a soft hangup */ if (ast_test_flag(chan, AST_FLAG_ZOMBIE) || ast_check_hangup(chan)) { if (chan->generator) |