The kernel thread control and synchronization functions are:
Wake up all waiting threads
Free an allocated condition variable
Allocate a condition variable
Wake up one waiting thread
Await an event with timeout
Await an event or signal with timeout
Await an event
Await an event or signal
Determine whether the current thread can receive a signal
Enter a critical region of control
Exit a critical region of control
Acquire mutual exclusion lock
Release mutual exclusion lock
Initialize mutual exclusion lock
Determine whether current thread is holding mutual exclusion lock
Attempt to acquire mutual exclusion lock without waiting
Downgrade a readers/writer lock holding from writer to reader
Acquire a readers/writer lock
Release a readers/writer lock
Initialize a readers/writer lock
Determine whether readers/writer lock is held for read or write
Attempt to acquire a readers/writer lock without waiting
Attempt to upgrade readers/writer lock holding from reader to writer
Destroy a semaphore
Initialize a semaphore
Decrement semaphore and possibly block
Decrement semaphore but do not block if signal is pending
Attempt to decrement semaphore but do not block
Increment semaphore and possibly unblock waiter