Page MenuHomeFreeBSD

D43984.diff
No OneTemporary

D43984.diff

diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c
--- a/sys/kern/kern_umtx.c
+++ b/sys/kern/kern_umtx.c
@@ -2684,7 +2684,8 @@
struct umtx_q *uq, *uq2;
struct umtx_pi *pi;
uint32_t id, owner, rceiling;
- int error, pri, new_inherited_pri, su;
+ int error, pri, new_inherited_pri;
+ bool su;
id = td->td_tid;
uq = td->td_umtxq;
@@ -2739,7 +2740,7 @@
error = EFAULT;
else {
mtx_lock(&umtx_lock);
- if (su != 0)
+ if (su || new_inherited_pri == PRI_MAX)
uq->uq_inherited_pri = new_inherited_pri;
pri = PRI_MAX;
TAILQ_FOREACH(pi, &uq->uq_pi_contested, pi_link) {

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 11, 2:56 PM (20 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15754783
Default Alt Text
D43984.diff (598 B)

Event Timeline