提交 9d5f14a1 authored 作者: Moises Silva's avatar Moises Silva

freetdm: Fix longstanding minor bug in ftdm_span_send_signal causing dial-regex…

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
上级 f9007fb2
...@@ -6089,6 +6089,7 @@ static void execute_safety_hangup(void *data) ...@@ -6089,6 +6089,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);
...@@ -6193,7 +6194,7 @@ FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t ...@@ -6193,7 +6194,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:
...@@ -6202,7 +6203,7 @@ done: ...@@ -6202,7 +6203,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)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论