Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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

current_thread(9r)														current_thread(9r)

NAME
current_thread - General: Is a pointer to the currently running kernel thread SYNOPSIS
void current_thread( void ); ARGUMENTS
None DESCRIPTION
The current_thread routine is a pointer to the currently running kernel thread. Typically, kernel modules use this routine to reference the wait_result member of the thread structure pointer associated with the currently running kernel thread. A module calls current_thread after calls to assert_wait_mesg and thread_block. If the module needs to set a timeout, then it calls current_thread after calls to assert_wait_mesg, thread_set_timeout, and thread_block. The kernel can set the wait_result member to one of the following values: The result of the assert wait is a normal wakeup. The specified timeout has expired. The wait condition was interrupted by the clear_wait routine. The result of the assert wait is that the current ker- nel thread should terminate. The current kernel thread should be restarted. RETURN VALUES
None SEE ALSO
Routines: assert_wait_mesg(9r), clear_wait(9r), thread_block(9r), thread_set_timeout(9r) Data Structures: thread(9s) current_thread(9r)
Man Page