aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-03 14:38:09 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-03 14:38:09 +0000
commit43d09aceae6131ed7e72dc1bda73391b41efa841 (patch)
treedf3dc56c44917f2e4c0da2f2053a42f6e400a249 /main
parent07bbb280451269a9396bc055b04f3d197139d203 (diff)
Move where fdno is set to the default value to *after* the read callback of the channel driver is called.
We have to do this as the underlying channel driver may need the fdno value to determine what to read. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@179671 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/channel.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/main/channel.c b/main/channel.c
index 8275456d4..58861add9 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -2061,12 +2061,6 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio)
}
prestate = chan->_state;
- /*
- * Reset the recorded file descriptor that triggered this read so that we can
- * easily detect when ast_read() is called without properly using ast_waitfor().
- */
- chan->fdno = -1;
-
/* Read and ignore anything on the alertpipe, but read only
one sizeof(blah) per frame that we send from it */
if (chan->alertpipe[0] > -1) {
@@ -2191,6 +2185,12 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio)
ast_log(LOG_WARNING, "No read routine on channel %s\n", chan->name);
}
+ /*
+ * Reset the recorded file descriptor that triggered this read so that we can
+ * easily detect when ast_read() is called without properly using ast_waitfor().
+ */
+ chan->fdno = -1;
+
if (f) {
/* if the channel driver returned more than one frame, stuff the excess
into the readq for the next ast_read call (note that we can safely assume