aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2023-08-12 01:22:58 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-08-12 01:23:54 +0200
commitf768b6524fa5e5872ca7b4002d346aae1d6bcaf6 (patch)
treea24f6a142c45b64380edd16320161572a1520137
parent17ab219b4888997dd29a6ea832c36474bf3a7b5b (diff)
downloadgnumach-f768b6524fa5e5872ca7b4002d346aae1d6bcaf6.tar.gz
gnumach-f768b6524fa5e5872ca7b4002d346aae1d6bcaf6.tar.bz2
gnumach-f768b6524fa5e5872ca7b4002d346aae1d6bcaf6.zip
lock: Add more sanity checks
-rw-r--r--kern/lock.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kern/lock.c b/kern/lock.c
index 2b86fef8..36b6d209 100644
--- a/kern/lock.c
+++ b/kern/lock.c
@@ -343,11 +343,13 @@ void lock_done(
if (l->want_upgrade) {
l->want_upgrade = FALSE;
#if MACH_LDEBUG
+ assert(l->writer == current_thread());
l->writer = THREAD_NULL;
#endif /* MACH_LDEBUG */
} else {
l->want_write = FALSE;
#if MACH_LDEBUG
+ assert(l->writer == current_thread());
l->writer = THREAD_NULL;
#endif /* MACH_LDEBUG */
}
@@ -497,6 +499,7 @@ void lock_write_to_read(
}
#if MACH_LDEBUG
+ assert(l->writer == current_thread());
l->writer = THREAD_NULL;
#endif /* MACH_LDEBUG */
simple_unlock(&l->interlock);