mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 15:50:59 +00:00
FS-3170 this was specific to the user channel which is not a real channel in every sense of the word as it has no running thread or any usable state changes so this new line of code in 233d3164be4412aaaf8f9f42d8042e48279a018a to wait for the state machine to stabalize before returning from originate caused an issue with user/ channels
This commit is contained in:
parent
72f52aae19
commit
88a6ac2ff4
@ -1562,6 +1562,10 @@ SWITCH_DECLARE(switch_channel_state_t) switch_channel_get_running_state(switch_c
|
||||
|
||||
SWITCH_DECLARE(int) switch_channel_state_change_pending(switch_channel_t *channel)
|
||||
{
|
||||
if (switch_channel_down(channel) || !switch_core_session_in_thread(channel->session)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return channel->running_state != channel->state;
|
||||
}
|
||||
|
||||
|
@ -3625,7 +3625,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
|
||||
}
|
||||
}
|
||||
|
||||
while(switch_channel_get_state(bchan) != switch_channel_get_running_state(bchan) && switch_channel_up(bchan)) switch_cond_next();
|
||||
|
||||
while(switch_channel_state_change_pending(bchan)) {
|
||||
switch_cond_next();
|
||||
}
|
||||
|
||||
|
||||
switch_ivr_sleep(*bleg, 0, SWITCH_TRUE, NULL);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user