diff options
author | Mitchell Horne <mhorne@FreeBSD.org> | 2021-04-08 17:41:19 +0000 |
---|---|---|
committer | Mitchell Horne <mhorne@FreeBSD.org> | 2021-04-12 14:42:21 +0000 |
commit | 2816bd8442bc323d50434d0e64cb4b7c10a195e8 (patch) | |
tree | 21c7d167b8595922cb8a500a322fee328a031a7e /sys/kern/kern_rmlock.c | |
parent | 034669e856211cbc55d6ac7119629701d182647d (diff) | |
download | src-2816bd8442bc323d50434d0e64cb4b7c10a195e8.tar.gz src-2816bd8442bc323d50434d0e64cb4b7c10a195e8.zip |
rmlock(9): add an RM_DUPOK flag
Allows for duplicate locks to be acquired without witness complaining.
Similar flags exists already for rwlock(9) and sx(9).
Reviewed by: markj
MFC after: 3 days
Sponsored by: NetApp, Inc.
Sponsored by: Klara, Inc.
NetApp PR: 52
Differential Revision: https://reviews.freebsd.org/D29683n
Diffstat (limited to 'sys/kern/kern_rmlock.c')
-rw-r--r-- | sys/kern/kern_rmlock.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_rmlock.c b/sys/kern/kern_rmlock.c index f661e209b633..7230a00e357b 100644 --- a/sys/kern/kern_rmlock.c +++ b/sys/kern/kern_rmlock.c @@ -289,6 +289,8 @@ rm_init_flags(struct rmlock *rm, const char *name, int opts) liflags |= LO_RECURSABLE; if (opts & RM_NEW) liflags |= LO_NEW; + if (opts & RM_DUPOK) + liflags |= LO_DUPOK; rm->rm_writecpus = all_cpus; LIST_INIT(&rm->rm_activeReaders); if (opts & RM_SLEEPABLE) { |