diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index ae07c0a876..b681ba9060 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -14395,6 +14395,7 @@ static char *handle_pri_show_span(struct ast_cli_entry *e, int cmd, struct ast_c ast_cli(a->fd, "%s D-channel: %d\n", pri_order(x), pris[span-1].dchannels[x]); build_status(status, sizeof(status), pris[span-1].dchanavail[x], pris[span-1].dchans[x] == pris[span-1].pri); ast_cli(a->fd, "Status: %s\n", status); + ast_mutex_lock(&pris[span - 1].lock); #ifdef PRI_DUMP_INFO_STR info_str = pri_dump_info_str(pris[span-1].pri); if (info_str) { @@ -14404,6 +14405,7 @@ static char *handle_pri_show_span(struct ast_cli_entry *e, int cmd, struct ast_c #else pri_dump_info(pris[span-1].pri); #endif + ast_mutex_unlock(&pris[span - 1].lock); ast_cli(a->fd, "Overlap Recv: %s\n\n", (pris[span-1].overlapdial & DAHDI_OVERLAPDIAL_INCOMING)?"Yes":"No"); } }