Only unlock process if a thread is found.
This commit is contained in:
parent
7dc246bc0f
commit
32c63db519
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=215336
@ -1592,11 +1592,11 @@ umtxq_sleep_pi(struct umtx_q *uq, struct umtx_pi *pi,
|
||||
/* XXX Only look up thread in current process. */
|
||||
td1 = tdfind(owner, curproc->p_pid);
|
||||
mtx_lock_spin(&umtx_lock);
|
||||
if (td1 != NULL && pi->pi_owner == NULL) {
|
||||
uq1 = td1->td_umtxq;
|
||||
umtx_pi_setowner(pi, td1);
|
||||
if (td1 != NULL) {
|
||||
if (pi->pi_owner == NULL)
|
||||
umtx_pi_setowner(pi, td1);
|
||||
PROC_UNLOCK(td1->td_proc);
|
||||
}
|
||||
PROC_UNLOCK(td1->td_proc);
|
||||
}
|
||||
|
||||
TAILQ_FOREACH(uq1, &pi->pi_blocked, uq_lockq) {
|
||||
|
Loading…
Reference in New Issue
Block a user