Page MenuHomeFreeBSD

D7505.id.diff
No OneTemporary

D7505.id.diff

Index: head/sys/kern/kern_umtx.c
===================================================================
--- head/sys/kern/kern_umtx.c
+++ head/sys/kern/kern_umtx.c
@@ -3123,7 +3123,6 @@
umtxq_busy(&key);
cnt = umtxq_count(&key);
if (cnt > 0) {
- umtxq_signal(&key, 1);
/*
* Check if count is greater than 0, this means the memory is
* still being referenced by user code, so we can safely
@@ -3136,6 +3135,7 @@
if (error == -1)
error = EFAULT;
}
+ umtxq_signal(&key, 1);
}
umtxq_unbusy(&key);
umtxq_unlock(&key);
@@ -3235,8 +3235,6 @@
umtxq_busy(&key);
cnt = umtxq_count(&key);
if (cnt > 0) {
- umtxq_signal(&key, 1);
-
/*
* If this was the last sleeping thread, clear the waiters
* flag in _count.
@@ -3251,6 +3249,8 @@
error = EFAULT;
umtxq_lock(&key);
}
+
+ umtxq_signal(&key, 1);
}
umtxq_unbusy(&key);
umtxq_unlock(&key);

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 20, 7:24 PM (5 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27771598
Default Alt Text
D7505.id.diff (897 B)

Event Timeline