【发布时间】:2021-03-22 20:23:38
【问题描述】:
根据 man(2) 民意调查:
int poll(struct pollfd *fds, nfds_t nfds, int timeout);
struct pollfd {
int fd; /* file descriptor */
short events; /* requested events */
short revents; /* returned events */
};
如果我在使用poll之后写if(! (fds.revents &1 ))是什么意思?
【问题讨论】:
-
难道你不应该知道你为什么要写这样的东西吗?你是从其他地方得到这个表情的,还是这里发生了什么?
-
@AKX 我在另一个网站上看到了该代码,我想了解它是什么意思?
-
也许你至少应该链接那个其他网站,这样我们就可以了解那里正在发生的事情。
-
首先这意味着代码写得不好。应该使用
poll.h中的符号常量,而不是像1这样的魔法值。如果与该位对应的事件根本没有被请求,或者如果它被请求但在poll期间没有发生,则该条件为真。
标签: c linux system-calls polling poll-syscall