- return (msleep(cvp, mp, PSOCK | PCATCH, desc, 0));
+ return msleep(cvp, mp, PSOCK | PCATCH, desc, 0);
+}
+
+/*
+ * BSD Mutexes.
+ */
+void
+#if DIAGNOSTIC
+_audit_mtx_init(struct mtx *mp, const char *lckname)
+#else
+_audit_mtx_init(struct mtx *mp, __unused const char *lckname)
+#endif
+{
+ mp->mtx_lock = lck_mtx_alloc_init(audit_lck_grp, LCK_ATTR_NULL);
+ KASSERT(mp->mtx_lock != NULL,
+ ("_audit_mtx_init: Could not allocate a mutex."));
+#if DIAGNOSTIC
+ strlcpy(mp->mtx_name, lckname, AU_MAX_LCK_NAME);
+#endif
+}
+
+void
+_audit_mtx_destroy(struct mtx *mp)
+{
+ if (mp->mtx_lock) {
+ lck_mtx_free(mp->mtx_lock, audit_lck_grp);
+ mp->mtx_lock = NULL;
+ }