Index Index for
Section 9r
Index Alphabetical
listing for S
Bottom of page 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 Index for
Section 9r
Index Alphabetical
listing for S
Top of page Top of
page