 |
Index for Section 9r |
|
 |
Alphabetical listing for S |
|
 |
Bottom of page |
|
select_wakeup(9r)
NAME
select_wakeup - General: Wakes up a kernel thread
SYNOPSIS
void select_wakeup(
sel_queue_t *selq );
ARGUMENTS
selq
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 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.
RETURN VALUES
None
SEE ALSO
Routines: select_dequeue(9r), select_dequeue_all(9r), select_enqueue(9r)
System Calls: select(2)
 |
Index for Section 9r |
|
 |
Alphabetical listing for S |
|
 |
Top of page |
|