summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/sys/rmlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/sys/rmlock.h')
-rw-r--r--freebsd/sys/sys/rmlock.h30
1 files changed, 16 insertions, 14 deletions
diff --git a/freebsd/sys/sys/rmlock.h b/freebsd/sys/sys/rmlock.h
index e71789ac..efd60597 100644
--- a/freebsd/sys/sys/rmlock.h
+++ b/freebsd/sys/sys/rmlock.h
@@ -40,17 +40,18 @@
#ifdef _KERNEL
/*
- * Flags passed to rm_init(9).
+ * Flags passed to rm_init_flags(9).
*/
#define RM_NOWITNESS 0x00000001
#define RM_RECURSE 0x00000002
#define RM_SLEEPABLE 0x00000004
+#define RM_NEW 0x00000008
#ifndef __rtems__
void rm_init(struct rmlock *rm, const char *name);
void rm_init_flags(struct rmlock *rm, const char *name, int opts);
void rm_destroy(struct rmlock *rm);
-int rm_wowned(struct rmlock *rm);
+int rm_wowned(const struct rmlock *rm);
void rm_sysinit(void *arg);
void rm_sysinit_flags(void *arg);
@@ -67,7 +68,7 @@ int _rm_rlock(struct rmlock *rm, struct rm_priotracker *tracker,
int trylock);
void _rm_runlock(struct rmlock *rm, struct rm_priotracker *tracker);
#if defined(INVARIANTS) || defined(INVARIANT_SUPPORT)
-void _rm_assert(struct rmlock *rm, int what, const char *file,
+void _rm_assert(const struct rmlock *rm, int what, const char *file,
int line);
#endif
@@ -99,17 +100,18 @@ void _rm_assert(struct rmlock *rm, int what, const char *file,
tick_sbt * (timo), 0, C_HARDCLOCK)
#else /* __rtems__ */
- #define rm_init(rm, name) rw_init(rm, name)
- #define rm_init_flags(rm, name, opts) rw_init_flags(rm, name, opts)
- #define rm_destroy(rm) rw_destroy(rm)
- #define rm_wowned(rm) rw_wowned(rm)
- #define rm_sysinit(arg) rw_sysinit(arg)
- #define rm_sysinit_flags(arg) rw_sysinit_flags(arg)
-
- #define rm_wlock(rm) rw_wlock((rm))
- #define rm_wunlock(rm) rw_wunlock((rm))
- #define rm_rlock(rm,tracker) rw_rlock((rm))
- #define rm_runlock(rm,tracker) rw_runlock((rm))
+#include <sys/rwlock.h>
+#define rm_init rw_init
+#define rm_init_flags rw_init_flags
+#define rm_destroy rw_destroy
+#define rm_wowned rw_wowned
+#define rm_sysinit rw_sysinit
+#define rm_sysinit_flags rw_sysinit_flags
+#define rm_wlock rw_wlock
+#define rm_wunlock rw_wunlock
+#define rm_rlock(rm, tracker) do { (void)tracker; rw_rlock(rm); } while (0)
+#define rm_runlock(rm, tracker) do { (void)tracker; rw_runlock(rm); } while (0)
+#define rm_sleep rw_sleep
#endif /* __rtems__ */