aboutsummaryrefslogtreecommitdiff
path: root/kern/lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'kern/lock.c')
-rw-r--r--kern/lock.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kern/lock.c b/kern/lock.c
index 43281147..2b86fef8 100644
--- a/kern/lock.c
+++ b/kern/lock.c
@@ -340,9 +340,12 @@ void lock_done(
if (l->recursion_depth != 0)
l->recursion_depth--;
else
- if (l->want_upgrade)
+ if (l->want_upgrade) {
l->want_upgrade = FALSE;
- else {
+#if MACH_LDEBUG
+ l->writer = THREAD_NULL;
+#endif /* MACH_LDEBUG */
+ } else {
l->want_write = FALSE;
#if MACH_LDEBUG
l->writer = THREAD_NULL;