Kernel Thread Control and Synchronization Functions
The kernel thread control and synchronization functions are:
- cv_broadcast()
Wake up all waiting threads
- cv_destroy()
Free an allocated condition variable
- cv_init()
Allocate a condition variable
- cv_signal()
Wake up one waiting thread
- cv_timedwait()
Await an event with timeout
- cv_timedwait_sig()
Await an event or signal with timeout
- cv_wait()
Await an event
- cv_wait_sig()
Await an event or signal
- ddi_can_receive_sig()
Determine whether the current thread can receive a signal
- ddi_enter_critical()
Enter a critical region of control
- ddi_exit_critical()
Exit a critical region of control
- mutex_destroy()
Destroy mutual exclusion lock
- mutex_enter()
Acquire mutual exclusion lock
- mutex_exit()
Release mutual exclusion lock
- mutex_init()
Initialize mutual exclusion lock
- mutex_owned()
Determine whether current thread is holding mutual exclusion lock
- mutex_tryenter()
Attempt to acquire mutual exclusion lock without waiting
- rw_destroy()
Destroy a readers/writer lock
- rw_downgrade()
Downgrade a readers/writer lock holding from writer to reader
- rw_enter()
Acquire a readers/writer lock
- rw_exit()
Release a readers/writer lock
- rw_init()
Initialize a readers/writer lock
- rw_read_locked()
Determine whether readers/writer lock is held for read or write
- rw_tryenter()
Attempt to acquire a readers/writer lock without waiting
- rw_tryupgrade()
Attempt to upgrade readers/writer lock holding from reader to writer
- sema_destroy()
Destroy a semaphore
- sema_init()
Initialize a semaphore
- sema_p()
Decrement semaphore and possibly block
- sema_p_sig()
Decrement semaphore but do not block if signal is pending
- sema_tryp()
Attempt to decrement semaphore but do not block
- sema_v()
Increment semaphore and possibly unblock waiter