Page MenuHomeFreeBSD

D49031.diff
No OneTemporary

D49031.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
@@ -2616,6 +2616,10 @@
}
} else if (owner == UMUTEX_RB_NOTRECOV) {
error = ENOTRECOVERABLE;
+ } else if (owner == UMUTEX_CONTESTED) {
+ /* Spurious failure, retry. */
+ umtxq_unbusy_unlocked(&uq->uq_key);
+ continue;
}
if (try != 0)
@@ -2825,6 +2829,10 @@
} else if (owner == UMUTEX_RB_NOTRECOV) {
error = ENOTRECOVERABLE;
break;
+ } else if (owner == UMUTEX_CONTESTED) {
+ /* Spurious failure, retry. */
+ umtxq_unbusy_unlocked(&uq->uq_key);
+ continue;
}
/*

File Metadata

Mime Type
text/plain
Expires
Fri, Jul 17, 12:18 AM (2 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35152384
Default Alt Text
D49031.diff (624 B)

Event Timeline