summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_rwlock.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_rwlock.c')
-rw-r--r--sys/kern/kern_rwlock.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/kern/kern_rwlock.c b/sys/kern/kern_rwlock.c
index 809e526..315f887 100644
--- a/sys/kern/kern_rwlock.c
+++ b/sys/kern/kern_rwlock.c
@@ -59,12 +59,14 @@ CTASSERT((RW_RECURSE & LO_CLASSFLAGS) == RW_RECURSE);
static void db_show_rwlock(struct lock_object *lock);
#endif
+static void assert_rw(struct lock_object *lock, int what);
static void lock_rw(struct lock_object *lock, int how);
static int unlock_rw(struct lock_object *lock);
struct lock_class lock_class_rw = {
.lc_name = "rw",
.lc_flags = LC_SLEEPLOCK | LC_RECURSABLE | LC_UPGRADABLE,
+ .lc_assert = assert_rw,
#ifdef DDB
.lc_ddb_show = db_show_rwlock,
#endif
@@ -103,6 +105,13 @@ struct lock_class lock_class_rw = {
#endif
void
+assert_rw(struct lock_object *lock, int what)
+{
+
+ rw_assert((struct rwlock *)lock, what);
+}
+
+void
lock_rw(struct lock_object *lock, int how)
{
struct rwlock *rw;
OpenPOWER on IntegriCloud