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)