|
select_wakeup(9r)
Contents
|
select_wakeup - General: Wakes up a kernel thread
void select_wakeup(
sel_queue_t *selq );
Specifies a pointer to a sel_queue structure.
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 suspended 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 (typically 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.
None
Routines: select_dequeue(9r), select_dequeue_all(9r),
select_enqueue(9r)
System Calls: select(2)
select_wakeup(9r)
[ Back ] |