Lines 1741-1746
do_lock_pi(struct thread *td, struct umutex *m, uint32_t flags,
Link Here
|
1741 |
error = umtx_pi_claim(pi, td); |
1741 |
error = umtx_pi_claim(pi, td); |
1742 |
umtxq_unbusy(&uq->uq_key); |
1742 |
umtxq_unbusy(&uq->uq_key); |
1743 |
umtxq_unlock(&uq->uq_key); |
1743 |
umtxq_unlock(&uq->uq_key); |
|
|
1744 |
if (error) { |
1745 |
/* |
1746 |
* Since we're going to return an |
1747 |
* error, restore the m_owner to its |
1748 |
* previous, unowned state to avoid |
1749 |
* compounding the problem. |
1750 |
*/ |
1751 |
(void) casuword32(&m->m_owner, |
1752 |
id | UMUTEX_CONTESTED, |
1753 |
UMUTEX_CONTESTED); |
1754 |
} |
1744 |
break; |
1755 |
break; |
1745 |
} |
1756 |
} |
1746 |
|
1757 |
|