diff --git a/channels/chan_brcm.c b/channels/chan_brcm.c index 9eb146a7f473ec4a3d10899e06ad8cc049022385..b995dd962b4f102dd1e114f606e506a237457306 100644 --- a/channels/chan_brcm.c +++ b/channels/chan_brcm.c @@ -3201,7 +3201,7 @@ static int unload_module(void) if (!ast_mutex_lock(&monlock)) { if (ubus_thread != AST_PTHREADT_NULL && ubus_thread != AST_PTHREADT_STOP) { ast_verbose("Stopping ubus thread...\n"); - pthread_cancel(ubus_thread); + pthread_kill(ubus_thread, SIGUSR2); pthread_join(ubus_thread, NULL); ubus_thread = AST_PTHREADT_STOP; ast_verbose("ubus thread is stopped\n");