From: Richard Mudgett Date: Wed, 30 May 2012 18:05:48 +0000 (+0000) Subject: Use the DEADLOCK_AVOIDANCE() macro instead. X-Git-Tag: 1.8.14.0-rc1~3^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7d2d4601bc06f0e5f44bc76379f581dc041cbbd;p=thirdparty%2Fasterisk.git Use the DEADLOCK_AVOIDANCE() macro instead. (issue ASTERISK-19854) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@367980 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/sig_pri.c b/channels/sig_pri.c index c40ac495eb..8f36a48376 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -1190,9 +1190,7 @@ static void sig_pri_lock_owner(struct sig_pri_span *pri, int chanpos) /* Avoid deadlock */ sig_pri_unlock_private(pri->pvts[chanpos]); - ast_mutex_unlock(&pri->lock); - sched_yield(); - ast_mutex_lock(&pri->lock); + DEADLOCK_AVOIDANCE(&pri->lock); sig_pri_lock_private(pri->pvts[chanpos]); } } diff --git a/channels/sig_ss7.c b/channels/sig_ss7.c index b0f884e9d1..e442007539 100644 --- a/channels/sig_ss7.c +++ b/channels/sig_ss7.c @@ -300,9 +300,7 @@ static void sig_ss7_lock_owner(struct sig_ss7_linkset *ss7, int chanpos) /* Avoid deadlock */ sig_ss7_unlock_private(ss7->pvts[chanpos]); - ast_mutex_unlock(&ss7->lock); - sched_yield(); - ast_mutex_lock(&ss7->lock); + DEADLOCK_AVOIDANCE(&ss7->lock); sig_ss7_lock_private(ss7->pvts[chanpos]); } }