diff options
Diffstat (limited to 'share/man/man9/condvar.9')
-rw-r--r-- | share/man/man9/condvar.9 | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/share/man/man9/condvar.9 b/share/man/man9/condvar.9 index 1a8730e9bcc5..97d3134f847f 100644 --- a/share/man/man9/condvar.9 +++ b/share/man/man9/condvar.9 @@ -35,6 +35,7 @@ .Nm cv_destroy , .Nm cv_wait , .Nm cv_wait_sig , +.Nm cv_wait_unlock , .Nm cv_timedwait , .Nm cv_timedwait_sig , .Nm cv_signal , @@ -54,6 +55,8 @@ .Fn cv_wait "struct cv *cvp" "struct mtx *mp" .Ft int .Fn cv_wait_sig "struct cv *cvp" "struct mtx *mp" +.Ft void +.Fn cv_wait_unlock "struct cv *cvp" "struct mtx *mp" .Ft int .Fn cv_timedwait "struct cv *cvp" "struct mtx *mp" "int timo" .Ft int @@ -84,6 +87,7 @@ Condition variables are destroyed with Threads wait on condition variables by calling .Fn cv_wait , .Fn cv_wait_sig , +.Fn cv_wait_unlock , .Fn cv_timedwait , or .Fn cv_timedwait_sig . @@ -110,13 +114,17 @@ A thread must hold before calling .Fn cv_wait , .Fn cv_wait_sig , +.Fn cv_wait_unlock , .Fn cv_timedwait , or .Fn cv_timedwait_sig . When a thread waits on a condition, .Fa mp -is atomically released before the thread is blocked, then atomically reacquired +is atomically released before the thread is blocked, then reacquired before the function call returns. +The +.Fn cv_wait_unlock +function does not reacquire the lock before returning. All waiters must pass the same .Fa mp in conjunction with @@ -125,6 +133,7 @@ in conjunction with When .Fn cv_wait , .Fn cv_wait_sig , +.Fn cv_wait_unlock , .Fn cv_timedwait , and .Fn cv_timedwait_sig |