From f753d1d50f0cd478b0980b60d1392f12e93788b6 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 11 Aug 2023 12:37:51 +0200 Subject: lock: Reset l->writer also for read-write upgradees which are done --- kern/lock.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'kern/lock.c') 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; -- cgit v1.2.3