poll(struct pollfd *ufds, unsigned int nfds, int timeout). 此调用可用于检查 sg 文件描述符的状态。 它将始终立即响应。 典型的用法是定期轮询 sg 文件描述符的状态,并确定接收到 SIG_IO 信号的原因。
对于与 sg 设备关联的文件描述符
POLLIN 一个或多个响应正在等待 read()
POLLOUT 可以向 write() 发送命令而不会导致 EDOM 错误(即,sg 的队列上有足够的空间)
POLLHUP SCSI 设备已分离,正在等待清理
POLLERR 内部结构不一致
POLLOUT 指示 sg 不会阻塞新的 write() 或 SG_IO ioctl()。 但是,中间层或适配器仍然有可能(但不太可能)阻塞(或产生 EAGAIN)。