Whole document tree
    

Whole document tree

poll()

7.4. poll()

poll(struct pollfd *ufds, unsigned int nfds, int timeout). This call can be used to check the state of a sg file descriptor. It will always respond immediately. Typical usages are to periodically poll the state of a sg file descriptor and to determine why a SIG_IO signal was received.

For file descriptors associated with sg devices:

  • POLLIN one or more responses is awaiting a read()

  • POLLOUT command can be sent to write() without causing an EDOM error (i.e. sufficient space on sg's queues)

  • POLLHUP SCSI device has been detached, awaiting cleanup

  • POLLERR internal structures are inconsistent

POLLOUT indicates the sg will not block a new write() or SG_IO ioctl(). However it is still possible (but unlikely) that the mid level or an adapter may block (or yield EAGAIN).