日期:2014-05-16  浏览次数:20949 次

poll()设置POLLPRI,"有紧迫的数据要读"到底是什么意思?
poll()的参数pollfd.events可以设置若干种监视的状态:

POLLIN:                有普通数据或者优先数据可读
POLLRDNORM:    有普通数据可读
POLLRDBAND:    有优先数据可读
POLLPRI:              有紧急数据可读
POLLOUT:            有普通数据可写
POLLWRNORM:   有普通数据可写
POLLWRBAND:    有紧急数据可写
POLLERR:            有错误发生
POLLHUP:            有描述符挂起事件发生
POLLNVAL:          描述符非法

[我的问题]:
什么样的fd在poll()之后,状态是"有紧迫数据要读"呢? open/read/write这些函数并没有什么参数是让一段数据变成"紧迫的数据"。
什么情况会发生POLLPRI呢? 普通数据和紧急数据的发生机制都是什么?

非常疑惑啊

------解决方案--------------------
瞎JB疑惑啊,带外数据。

建议楼主系统读一下UNIX网络编程。