summaryrefslogtreecommitdiff
path: root/kern/lock.h
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-08-15 16:43:24 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-08-16 02:19:38 +0200
commit801c2c0f473a09262f4c15ed2892b1dfd638fc72 (patch)
tree314d0a374cb6c1715b111697853013aaa30ed8b6 /kern/lock.h
parent3b7d2320a0ed2e9067f724cfec658bd43e4bd65e (diff)
kern: disable the simple lock checks while debugging
* kern/lock.c (do_check_simple_locks): New variable. (check_simple_locks): Make check conditional. (check_simple_locks_{en,dis}able): New functions. * kern/lock.h (check_simple_locks_{en,dis}able): New declarations. * ddb/db_trap.c (db_task_trap): Disable simple lock checks.
Diffstat (limited to 'kern/lock.h')
-rw-r--r--kern/lock.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/kern/lock.h b/kern/lock.h
index ca7b1db..de72faf 100644
--- a/kern/lock.h
+++ b/kern/lock.h
@@ -81,6 +81,8 @@ class simple_lock_data_t name;
#define simple_lock_taken(lock) (simple_lock_assert(lock), \
1) /* always succeeds */
#define check_simple_locks()
+#define check_simple_locks_enable()
+#define check_simple_locks_disable()
#else /* NCPUS > 1 */
/*
@@ -97,6 +99,8 @@ extern boolean_t simple_lock_try(simple_lock_t);
(lock)->lock_data)
extern void check_simple_locks(void);
+extern void check_simple_locks_enable(void);
+extern void check_simple_locks_disable(void);
#endif /* NCPUS > 1 */
@@ -121,6 +125,8 @@ class struct simple_lock_data_empty name;
#define simple_lock_taken(l) (simple_lock_assert(l), \
1) /* always succeeds */
#define check_simple_locks()
+#define check_simple_locks_enable()
+#define check_simple_locks_disable()
#define simple_lock_pause()
#endif /* MACH_SLOCKS */