mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-14 16:15:04 +00:00
added code to ftdm_sangoma_ss7_run api to avoid code execution for M2UA
SG
This commit is contained in:
parent
23ca7f8fed
commit
4a99dc7fc7
@ -356,14 +356,7 @@ static void *ftdm_sangoma_ss7_run(ftdm_thread_t * me, void *obj)
|
|||||||
/* set IN_THREAD flag so that we know this thread is running */
|
/* set IN_THREAD flag so that we know this thread is running */
|
||||||
ftdm_set_flag (ftdmspan, FTDM_SPAN_IN_THREAD);
|
ftdm_set_flag (ftdmspan, FTDM_SPAN_IN_THREAD);
|
||||||
|
|
||||||
if(SNG_SS7_OPR_MODE_M2UA_SG == g_ftdm_operating_mode){
|
|
||||||
ftdm_log (FTDM_LOG_INFO, "FreeTDM running as M2UA_SG mode, freetdm dont have to do anything \n");
|
|
||||||
|
|
||||||
while (ftdm_running () && !(ftdm_test_flag (ftdmspan, FTDM_SPAN_STOP_THREAD))) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
goto ftdm_sangoma_ss7_stop;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* get an interrupt queue for this span for channel state changes */
|
/* get an interrupt queue for this span for channel state changes */
|
||||||
if (ftdm_queue_get_interrupt (ftdmspan->pendingchans, &ftdm_sangoma_ss7_int[0]) != FTDM_SUCCESS) {
|
if (ftdm_queue_get_interrupt (ftdmspan->pendingchans, &ftdm_sangoma_ss7_int[0]) != FTDM_SUCCESS) {
|
||||||
@ -377,6 +370,40 @@ static void *ftdm_sangoma_ss7_run(ftdm_thread_t * me, void *obj)
|
|||||||
goto ftdm_sangoma_ss7_run_exit;
|
goto ftdm_sangoma_ss7_run_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(SNG_SS7_OPR_MODE_M2UA_SG == g_ftdm_operating_mode){
|
||||||
|
ftdm_log (FTDM_LOG_INFO, "FreeTDM running as M2UA_SG mode, freetdm dont have to do anything \n");
|
||||||
|
|
||||||
|
while (ftdm_running () && !(ftdm_test_flag (ftdmspan, FTDM_SPAN_STOP_THREAD))) {
|
||||||
|
|
||||||
|
switch ((ftdm_interrupt_multiple_wait(ftdm_sangoma_ss7_int, ftdm_array_len(ftdm_sangoma_ss7_int), 100))) {
|
||||||
|
|
||||||
|
case FTDM_SUCCESS: /* process all pending state changes */
|
||||||
|
|
||||||
|
SS7_DEVEL_DEBUG ("ftdm_interrupt_wait FTDM_SUCCESS on span = %d\n",ftdmspan->span_id);
|
||||||
|
|
||||||
|
/**********************************************************************/
|
||||||
|
case FTDM_TIMEOUT:
|
||||||
|
SS7_DEVEL_DEBUG ("ftdm_interrupt_wait timed-out on span = %d\n",ftdmspan->span_id);
|
||||||
|
|
||||||
|
break;
|
||||||
|
/**********************************************************************/
|
||||||
|
case FTDM_FAIL:
|
||||||
|
SS7_ERROR ("ftdm_interrupt_wait returned error!\non span = %d\n", ftdmspan->span_id);
|
||||||
|
|
||||||
|
break;
|
||||||
|
/**********************************************************************/
|
||||||
|
default:
|
||||||
|
SS7_ERROR("ftdm_interrupt_wait returned with unknown code on span = %d\n",ftdmspan->span_id);
|
||||||
|
|
||||||
|
break;
|
||||||
|
/**********************************************************************/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
goto ftdm_sangoma_ss7_stop;
|
||||||
|
}
|
||||||
|
|
||||||
while (ftdm_running () && !(ftdm_test_flag (ftdmspan, FTDM_SPAN_STOP_THREAD))) {
|
while (ftdm_running () && !(ftdm_test_flag (ftdmspan, FTDM_SPAN_STOP_THREAD))) {
|
||||||
int x = 0;
|
int x = 0;
|
||||||
if (b_alarm_test) {
|
if (b_alarm_test) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user