 |
Index for Section 9r |
|
 |
Alphabetical listing for S |
|
 |
Bottom of page |
|
select_enqueue(9r)
NAME
select_enqueue - General: Adds the current kernel thread
SYNOPSIS
void select_enqueue(
sel_queue_t *selq );
ARGUMENTS
selq
Specifies a pointer to a sel_queue structure.
DESCRIPTION
The select_enqueue routine adds the current kernel thread to the list of
kernel threads waiting for a select event on the specified device. This
routine is called when a kernel module's select routine has been called and
the requested event cannot be immediately satisfied. For example, the
requested event cannot be immediately satisfied when xxselect is called for
the following reasons:
· To select on input and there are no characters available
· When called for output and the kernel module's output buffers are
currently full
By calling select_enqueue, the kernel module's select routine ensures that
the kernel thread issuing the select call will be blocked until the
requested event can be satisfied or until the select call terminates.
CAUTIONS
You must call the queue_init routine to initialize the sel_queue structure
pointer prior to calling select_enqueue. Failure to do so causes the kernel
to panic.
RETURN VALUES
None
FILES
<poll.h>
<select.h>
SEE ALSO
Routines: queue_init(9r), select_dequeue(9r), select_dequeue_all(9r),
select_wakeup(9r)
Data Structures: sel_queue(9s)
System Calls: select(2)
 |
Index for Section 9r |
|
 |
Alphabetical listing for S |
|
 |
Top of page |
|