assert_wait_mesg(9r)assert_wait_mesg(9r)NAMEassert_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. Speci‐
fies 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 kernel
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 associ‐
ated 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)