[Freeswitch-svn] [commit] r3879 - freeswitch/trunk/src
Freeswitch SVN
anthm at freeswitch.org
Sun Dec 31 16:06:03 EST 2006
Author: anthm
Date: Sun Dec 31 16:06:03 2006
New Revision: 3879
Modified:
freeswitch/trunk/src/switch_ivr.c
Log:
fix hold issue reported by irate anonymous guy on irc
Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c (original)
+++ freeswitch/trunk/src/switch_ivr.c Sun Dec 31 16:06:03 2006
@@ -1301,7 +1301,7 @@
} else { /* time off the channel (if you must) */
switch_frame_t *read_frame;
switch_status_t status;
- while (switch_channel_test_flag(channel, CF_HOLD)) {
+ while (switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_HOLD)) {
switch_yield(10000);
}
status = switch_core_session_read_frame(session, &read_frame, -1, 0);
@@ -1604,7 +1604,7 @@
switch_frame_t *read_frame;
switch_status_t status = switch_core_session_read_frame(session, &read_frame, -1, 0);
- while (switch_channel_test_flag(channel, CF_HOLD)) {
+ while (switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_HOLD)) {
switch_yield(10000);
}
@@ -1661,7 +1661,7 @@
switch_frame_t *read_frame;
switch_status_t status = switch_core_session_read_frame(session, &read_frame, -1, 0);
- while (switch_channel_test_flag(channel, CF_HOLD)) {
+ while (switch_channel_ready(channel) && switch_channel_test_flag(channel, CF_HOLD)) {
switch_yield(10000);
}
More information about the Freeswitch-svn
mailing list