👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

NetBSD 6.1.5 - man page for seldestroy (netbsd section 9)

SELECT(9)			  BSD Kernel Developer's Manual 			SELECT(9)

NAME
     seldestroy, selinit, selrecord, selnotify -- select and poll subsystem

SYNOPSIS
     #include <sys/param.h>
     #include <sys/select.h>

     void
     seldestroy(struct selinfo *sip);

     void
     selinit(struct selinfo *sip);

     void
     selrecord(struct lwp *selector, struct selinfo *sip);

     void
     selnotify(struct selinfo *sip, int events, long knhint);

DESCRIPTION
     selinit() and seldestroy() functions must be used to initialize and destroy the struct
     selinfo.  The seldestroy() function may block.

     selrecord() and selnotify() are used by device drivers to coordinate with the kernel imple-
     mentation of select(2) and poll(2).  Each object that can be polled contains a selinfo
     record.  Device drivers provide locking for the selinfo record.

     selrecord() records that the calling thread is interested in events related to a given
     object.  selrecord() should only be called when the poll routine determines that the object
     is not ready for I/O: there are no events of interest pending.  The check for pending I/O
     and call to selrecord() must be atomic.  Atomicity can be provided by holding the object's
     lock across the test and call to selrecord().  For non-MPSAFE drivers, the global
     kernel_lock is enough to provide atomicity.

     selnotify() is called by the underlying object handling code in order to notify any waiting
     threads that an event of interest has occurred.  The same lock held across the poll method
     and call to selrecord() must be held across the call to selnotify().  The lock prevents an
     event of interest being signalled while a thread is in the process of recording its inter-
     est.

     The events indicates which event happen.  Zero may be used if unknown.

     selnotify() also calls KNOTE() passing knhint as an argument.

CODE REFERENCES
     The core of the select and poll subsystem implementation is in sys/kern/sys_select.c.  Data
     structures and function prototypes are located in sys/sys/select.h, sys/sys/poll.h and
     sys/sys/selinfo.h.

SEE ALSO
     poll(2), select(2), knote(9)

BSD					   May 13, 2008 				      BSD


All times are GMT -4. The time now is 03:02 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?