|
|
select_enqueue(9r) select_enqueue(9r) NAME
select_enqueue - General: Adds the current kernel thread SYNOPSIS
void select_enqueue( sel_queue_t *selq ); ARGUMENTS
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
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) select_enqueue(9r)