freetdm: Fix longstanding minor bug in ftdm_span_send_signal causing dial-regex in Analog modules to not work
The return status of the signal callback was not being passed to the signaling module delivering the signal
This commit is contained in:
parent
f49dc139ad
commit
7ff70bd5cd
|
@ -6072,6 +6072,7 @@ static void execute_safety_hangup(void *data)
|
||||||
FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t *sigmsg)
|
FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t *sigmsg)
|
||||||
{
|
{
|
||||||
ftdm_channel_t *fchan = NULL;
|
ftdm_channel_t *fchan = NULL;
|
||||||
|
ftdm_status_t status = FTDM_SUCCESS;
|
||||||
if (sigmsg->channel) {
|
if (sigmsg->channel) {
|
||||||
fchan = sigmsg->channel;
|
fchan = sigmsg->channel;
|
||||||
ftdm_channel_lock(fchan);
|
ftdm_channel_lock(fchan);
|
||||||
|
@ -6176,7 +6177,7 @@ FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t
|
||||||
if (ftdm_test_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE)) {
|
if (ftdm_test_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE)) {
|
||||||
ftdm_span_queue_signal(span, sigmsg);
|
ftdm_span_queue_signal(span, sigmsg);
|
||||||
} else {
|
} else {
|
||||||
ftdm_span_trigger_signal(span, sigmsg);
|
status = ftdm_span_trigger_signal(span, sigmsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
@ -6185,7 +6186,7 @@ done:
|
||||||
ftdm_channel_unlock(fchan);
|
ftdm_channel_unlock(fchan);
|
||||||
}
|
}
|
||||||
|
|
||||||
return FTDM_SUCCESS;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *ftdm_cpu_monitor_run(ftdm_thread_t *me, void *obj)
|
static void *ftdm_cpu_monitor_run(ftdm_thread_t *me, void *obj)
|
||||||
|
|
Loading…
Reference in New Issue