diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 8b2096e218aff176fc631ee4f5aac12f35180cde..e25727f585fe1dba8d48bb2563b907fcc78aac76 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1588,8 +1588,8 @@ static int retrans_pkt(void *data) pkt->retransid = -1; if (ast_test_flag(pkt, FLAG_FATAL)) { - while(pkt->owner->owner && ast_mutex_trylock(&pkt->owner->owner->lock)) { - ast_mutex_unlock(&pkt->owner->lock); + while(pkt->owner->owner && ast_channel_trylock(pkt->owner->owner)) { + ast_mutex_unlock(&pkt->owner->lock); /* SIP_PVT, not channel */ usleep(1); ast_mutex_lock(&pkt->owner->lock); } @@ -7186,7 +7186,7 @@ static struct sip_pvt *get_sip_pvt_byid_locked(const char *callid, const char *t sip_pvt_ptr->theirtag, sip_pvt_ptr->tag); /* deadlock avoidance... */ - while (sip_pvt_ptr->owner && ast_mutex_trylock(&sip_pvt_ptr->owner->lock)) { + while (sip_pvt_ptr->owner && ast_channel_trylock(sip_pvt_ptr->owner)) { ast_mutex_unlock(&sip_pvt_ptr->lock); usleep(1); ast_mutex_lock(&sip_pvt_ptr->lock);