select_wakeup(9r)select_wakeup(9r)NAMEselect_wakeup - General: Wakes up a kernel thread
SYNOPSIS
void select_wakeup(
sel_queue_t *selq );
ARGUMENTS
Specifies a pointer to a sel_queue structure.
DESCRIPTION
The select_wakeup routine wakes up a kernel thread that is suspended
while waiting for an event on the specified device. A user-level
process can use the select system call to cause the process to be sus‐
pended while waiting for an event to happen on a device. For example, a
graphics application may issue a select call while waiting for mouse or
keyboard input to arrive. In this case the process would issue the
select system call, which would indirectly call the graphics driver's
select routine (through the driver's select entry point in the dsent
table) to determine if any input is available. If input is available,
the select call may return immediately. If no input is currently
available, the graphics driver would suspend the process until input
arrived.
For this example, when the graphics driver has received input (typi‐
cally through its interrupt handler), it causes any processes suspended
from calling select to continue by calling the select_wakeup routine.
This causes any process currently suspended on the select channel (as
specified by the selq argument) to resume.
RETURN VALUES
None
SEE ALSO
Routines: select_dequeue(9r), select_dequeue_all(9r),
select_enqueue(9r)
System Calls: select(2)select_wakeup(9r)