summaryrefslogtreecommitdiffstats
path: root/share/man/man9/mutex.9
diff options
context:
space:
mode:
authorarr <arr@FreeBSD.org>2002-04-02 17:21:00 +0000
committerarr <arr@FreeBSD.org>2002-04-02 17:21:00 +0000
commit85f5ae7a3be5ba48dbb5746bdd55b5f3c6c91128 (patch)
tree1bcd5fa5a884cb73126c2ac5737fdb99b2858d9b /share/man/man9/mutex.9
parent448edc64b41e8d0220c4eaa170ff10164700ec44 (diff)
downloadFreeBSD-src-85f5ae7a3be5ba48dbb5746bdd55b5f3c6c91128.zip
FreeBSD-src-85f5ae7a3be5ba48dbb5746bdd55b5f3c6c91128.tar.gz
- Add notes about SX_SYSINIT and MTX_SYSINIT in order to document the
recent additions of these macros. - Add in a MLINK to create SX_SYSINIT.9 and MTX_SYSINIT.9.
Diffstat (limited to 'share/man/man9/mutex.9')
-rw-r--r--share/man/man9/mutex.914
1 files changed, 13 insertions, 1 deletions
diff --git a/share/man/man9/mutex.9 b/share/man/man9/mutex.9
index 76a6a49..ddd1d2b 100644
--- a/share/man/man9/mutex.9
+++ b/share/man/man9/mutex.9
@@ -48,7 +48,8 @@
.Nm mtx_initialized ,
.Nm mtx_owned ,
.Nm mtx_recursed ,
-.Nm mtx_assert
+.Nm mtx_assert,
+.Nm MTX_SYSINIT
.Nd kernel synchronization primitives
.Sh SYNOPSIS
.In sys/param.h
@@ -86,6 +87,7 @@
.Fn mtx_recursed "struct mtx *mutex"
.Ft void
.Fn mtx_assert "struct mtx *mutex" "int what"
+.Fn MTX_SYSINIT "name" "mtx" "description" "opts"
.Sh DESCRIPTION
Mutexes are the most basic and primary method of process synchronization.
The major design considerations for mutexes are:
@@ -360,6 +362,16 @@ pointed to by the first argument.
This assertion is only valid in conjunction with
.Dv MA_OWNED .
.El
+.Pp
+The
+.Fn MTX_SYSINIT
+macro is used to generate a call to the
+.Fn mtx_sysinit
+routine at system startup in order to initialize a given mutex lock. The parameters are the same as
+.Fn mtx_init
+but with an additional argument,
+.Fa name,
+that is used in generating unique variable names for the related structures associated with the lock and the sysinit routine.
.Ss The Default Mutex Type
Most kernel code should use the default lock type,
.Dv MTX_DEF ;
OpenPOWER on IntegriCloud