summaryrefslogtreecommitdiffstats
path: root/sys/sys/mutex.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-08-02 20:50:45 +0000
committerjhb <jhb@FreeBSD.org>2005-08-02 20:50:45 +0000
commit9cc151ba8fb97d3b2cd8757b210720eb034af52a (patch)
tree29a270f404d6c2a5b5c17e09fce97e02cf128441 /sys/sys/mutex.h
parent4cb266fe14aba7298f55209ff1da439dcdf6fba3 (diff)
downloadFreeBSD-src-9cc151ba8fb97d3b2cd8757b210720eb034af52a.zip
FreeBSD-src-9cc151ba8fb97d3b2cd8757b210720eb034af52a.tar.gz
Include a SYSUNINIT() to destroy the mutex in MTX_SYSINIT. This makes
MTX_SYSINIT mutexes play well with modules that can be unloaded. Reported by: sam MFC after: 3 days
Diffstat (limited to 'sys/sys/mutex.h')
-rw-r--r--sys/sys/mutex.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/sys/mutex.h b/sys/sys/mutex.h
index cc6fecb..46cbe68 100644
--- a/sys/sys/mutex.h
+++ b/sys/sys/mutex.h
@@ -418,7 +418,9 @@ struct mtx_args {
(opts) \
}; \
SYSINIT(name##_mtx_sysinit, SI_SUB_LOCK, SI_ORDER_MIDDLE, \
- mtx_sysinit, &name##_args)
+ mtx_sysinit, &name##_args); \
+ SYSUNINIT(name##_mtx_sysuninit, SI_SUB_LOCK, SI_ORDER_MIDDLE, \
+ mtx_destroy, (mtx))
/*
* The INVARIANTS-enabled mtx_assert() functionality.
OpenPOWER on IntegriCloud