From: Richard Mudgett Date: Tue, 1 Feb 2011 00:01:09 +0000 (+0000) Subject: Merged revisions 305342 via svnmerge from X-Git-Tag: 1.8.4-rc1~54 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=39728fbe4d3d33961178f21360e1dd0aa11bfca1;p=thirdparty%2Fasterisk.git Merged revisions 305342 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r305342 | rmudgett | 2011-01-31 17:50:10 -0600 (Mon, 31 Jan 2011) | 14 lines Merged revisions 305341 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r305341 | rmudgett | 2011-01-31 17:45:58 -0600 (Mon, 31 Jan 2011) | 7 lines Obtain the pri lock for PRI queue counters. Need to obtain the pri lock when calling pri_dump_info_str() to avoid a reentrancy problem when calculating the Q.921 Q count statistic. JIRA AST-484 ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@305343 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/sig_pri.c b/channels/sig_pri.c index 74a3166439..e4ee551eb3 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -7390,6 +7390,7 @@ void sig_pri_cli_show_span(int fd, int *dchannels, struct sig_pri_span *pri) ast_cli(fd, "%s D-channel: %d\n", pri_order(x), dchannels[x]); build_status(status, sizeof(status), pri->dchanavail[x], pri->dchans[x] == pri->pri); ast_cli(fd, "Status: %s\n", status); + ast_mutex_lock(&pri->lock); #ifdef PRI_DUMP_INFO_STR info_str = pri_dump_info_str(pri->pri); if (info_str) { @@ -7399,6 +7400,7 @@ void sig_pri_cli_show_span(int fd, int *dchannels, struct sig_pri_span *pri) #else pri_dump_info(pri->pri); #endif + ast_mutex_unlock(&pri->lock); ast_cli(fd, "Overlap Recv: %s\n\n", (pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING)?"Yes":"No"); ast_cli(fd, "\n"); }