调用select()
如下所示的函数后:
int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout);
我们可以在句柄上调用一个宏FD_ISSET()
来检查标志(我们的句柄准备好了吗)
void FD_ISSET(int fd, fd_set *set);
FD_ISSET()
请告诉我,在为带有标志的描述符调用宏后,该标志在调用后是否降低?
为什么要使用 select()?我建议在这里查看 poll() 。请参阅此处了解您的问题。
法力说如下:
我非常明确地理解这一点: FD_CLR() 宏重置该位,而 FD_ISSET() 仅检查该位。