Document sx_try_[sx]lock().
This commit is contained in:
parent
b0dfeae7a3
commit
0619ea75c3
@ -164,6 +164,8 @@ MLINKS+=sx.9 sx_init.9
|
||||
MLINKS+=sx.9 sx_destroy.9
|
||||
MLINKS+=sx.9 sx_slock.9
|
||||
MLINKS+=sx.9 sx_xlock.9
|
||||
MLINKS+=sx.9 sx_try_slock.9
|
||||
MLINKS+=sx.9 sx_try_xlock.9
|
||||
MLINKS+=sx.9 sx_sunlock.9
|
||||
MLINKS+=sx.9 sx_xunlock.9
|
||||
MLINKS+=time.9 boottime.9 time.9 mono_time.9 time.9 runtime.9
|
||||
|
@ -35,6 +35,8 @@
|
||||
.Nm sx_destroy ,
|
||||
.Nm sx_slock ,
|
||||
.Nm sx_xlock ,
|
||||
.Nm sx_try_slock ,
|
||||
.Nm sx_try_xlock ,
|
||||
.Nm sx_sunlock ,
|
||||
.Nm sx_xunlock
|
||||
.Nd kernel shared/exclusive lock
|
||||
@ -51,6 +53,10 @@
|
||||
.Fn sx_slock "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_xlock "struct sx *sx"
|
||||
.Ft int
|
||||
.Fn sx_try_slock "struct sx *sx"
|
||||
.Ft int
|
||||
.Fn sx_try_xlock "struct sx *sx"
|
||||
.Ft void
|
||||
.Fn sx_sunlock "struct sx *sx"
|
||||
.Ft void
|
||||
@ -75,13 +81,24 @@ Shared/exclusive locks are destroyed with
|
||||
.Fn sx_destroy .
|
||||
Threads acquire and release a shared lock by calling
|
||||
.Fn sx_slock
|
||||
or
|
||||
.Fn sx_try_slock
|
||||
and
|
||||
.Fn sx_sunlock .
|
||||
Threads acquire and release an exclusive lock by calling
|
||||
.Fn sx_xlock
|
||||
or
|
||||
.Fn sx_try_xlock
|
||||
and
|
||||
.Fn sx_xunlock .
|
||||
.Pp
|
||||
.Fn sx_try_slock
|
||||
and
|
||||
.Fn sx_try_xlock
|
||||
will return 0 if the shared/exclusive lock cannot be acquired immediately;
|
||||
otherwise the shared/exclusive lock will be acquired and a non-zero value will
|
||||
be returned.
|
||||
.Pp
|
||||
A thread may not own a shared lock and an exclusive lock simultaneously;
|
||||
attempting to do so will result in deadlock.
|
||||
.Sh SEE ALSO
|
||||
|
Loading…
Reference in New Issue
Block a user