thread_block(9r) [osf1 man page]
thread_block(9r) thread_block(9r) NAME
thread_block - General: Blocks (puts to sleep) the current kernel thread SYNOPSIS
void thread_block( void ); ARGUMENTS
None DESCRIPTION
The thread_block routine blocks (puts to sleep) the current kernel thread and selects the next kernel thread to start (run). The routine schedules the next kernel thread onto this CPU. When a kernel thread is waiting for an event, it should block. In general, a kernel thread is blocked when the thread wait bit in the thread structure pointer associated with the current kernel thread is set. This bit signifies that this kernel thread is on the appropriate wait hash queue, waiting for a wakeup call. This allows the CPU to execute another kernel thread while this kernel thread is blocked. RETURN VALUES
None SEE ALSO
Routines: assert_wait_mesg(9r), current_thread(9r) thread_block(9r)
Check Out this Related Man Page
assert_wait_mesg(9r) assert_wait_mesg(9r) NAME
assert_wait_mesg - General: Asserts that the current kernel thread is about to block (sleep) SYNOPSIS
void assert_wait_mesg( vm_offset_t event, boolean_t interruptible, char *message ); ARGUMENTS
Specifies the event associated with the current kernel thread. Specifies a Boolean value that indicates how the kernel thread is awakened. You can pass one of the following values: The current kernel thread is interruptible. This value means that a signal can awaken the current kernel thread. The current kernel thread is not interruptible. This value means that only the specified event can awaken the current ker- nel thread. Specifies a mnemonic for the type of wait. The ps command uses this mnemonic to print out more meaningful messages about a process. DESCRIPTION
The assert_wait_mesgroutine asserts that the current kernel thread is about to block (sleep) until the specified event occurs. This routine sets a thread wait bit in the pointer to the thread structure associated with the current kernel thread. This bit signifies that this ker- nel thread is on the appropriate wait hash queue, waiting for a wakeup call. To actually block (put to sleep) the current kernel thread, call thread_block. To issue a wakeup call on the specified event, call the thread_wakeup_prim or clear_wait routine. CAUTIONS
You must not call assert_wait_mesg from a device driver's interrupt handler. The reason for this is that at interrupt context there is no process to be put to sleep. RETURN VALUES
None SEE ALSO
Data Structures: thread(9s) Routines: clear_wait(9r), current_thread(9r), thread_block(9r) Reference Pages Section 1: ps assert_wait_mesg(9r)