summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_witness.c
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2002-08-26 18:31:26 +0000
committeriedowse <iedowse@FreeBSD.org>2002-08-26 18:31:26 +0000
commit3643fd9d4d17d610a5ab3ec5a0630df090906737 (patch)
treed298f527ac06944c8be920df2d2065997b347408 /sys/kern/subr_witness.c
parent36ed1029fc6ff2994b7b9673327c5ebc09e59560 (diff)
downloadFreeBSD-src-3643fd9d4d17d610a5ab3ec5a0630df090906737.zip
FreeBSD-src-3643fd9d4d17d610a5ab3ec5a0630df090906737.tar.gz
Add WITNESS_FILE() and WITNESS_LINE(), which allow users of witness
to print out the file and line from the lock object. These will be used shortly by CTR() calls in the mutex code. Reviewed by: jhb, jake
Diffstat (limited to 'sys/kern/subr_witness.c')
-rw-r--r--sys/kern/subr_witness.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c
index 2a57ee3..b29265a 100644
--- a/sys/kern/subr_witness.c
+++ b/sys/kern/subr_witness.c
@@ -929,6 +929,28 @@ again:
return (n);
}
+const char *
+witness_file(struct lock_object *lock)
+{
+ struct witness *w;
+
+ if (witness_cold || witness_dead || lock->lo_witness == NULL)
+ return ("?");
+ w = lock->lo_witness;
+ return (w->w_file);
+}
+
+int
+witness_line(struct lock_object *lock)
+{
+ struct witness *w;
+
+ if (witness_cold || witness_dead || lock->lo_witness == NULL)
+ return (0);
+ w = lock->lo_witness;
+ return (w->w_line);
+}
+
static struct witness *
enroll(const char *description, struct lock_class *lock_class)
{
OpenPOWER on IntegriCloud