【发布时间】:2014-04-06 04:33:50
【问题描述】:
来自投票手册页:
revents 中返回的位可以包括任何在 revents 中指定的位 事件,或 POLLERR、POLLHUP 或 POLLNVAL 值之一
返回值:
成功时,返回一个正数;这是具有非零 revents 字段的结构的数量(换句话说,那些报告了事件或错误的描述符)。值 0 表示调用超时并且没有准备好文件描述符。出错时,返回 -1,并正确设置 errno。
如果 poll 在 revents 中设置了 POLLERR、POLLHUP 或 POLLNVAL 之一,这是否意味着 poll 函数将返回 -1?如果不是,那么 poll 什么时候返回 -1?
我的猜测是否定的,因为返回值解释中的第一句话是返回是具有非零 revents 字段的结构的数量。因此,如果设置了 POLLERR,则至少有 1 个结构具有非零 revent。
【问题讨论】: