Page MenuHomeFreeBSD

D35150.diff
No OneTemporary

D35150.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
@@ -2262,6 +2262,17 @@
break;
}
+ /*
+ * Nobody owns it, but the acquire failed. This can happen
+ * with ll/sc atomics.
+ */
+ if (owner == UMUTEX_UNOWNED) {
+ error = thread_check_susp(td, true);
+ if (error != 0)
+ break;
+ continue;
+ }
+
/*
* Avoid overwriting a possible error from sleep due
* to the pending signal with suspension check result.

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 13, 7:34 PM (19 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15786288
Default Alt Text
D35150.diff (502 B)

Event Timeline