linux poll()系统调用函数介绍

    poll()函数功能:在指定时间内轮询一定数量的文件描述符,来测试其中是否有就绪者

    poll的原型如下:

    int poll(struct pollfd* fds, nfds_t nfds, int timeout);

    其中各个参数的介绍如下:

1.fds——是一个pollfd结构类型的数组,它指定所有我们感兴趣的文件描述符上发生的可读,可写和异常等事件。pollfd结构体如下所示:

struct pollfd

{

     int fd; //文件描述符

     short events; //注册的事件

     short revents; //实际发生的事件,由内核来修改

}

至于poll支持哪些事件类型,大家可自行搜索,此处不再介绍。


2.nfds——指定被监听事件集合fds的大小

3.timeout——指定poll的超时值,当timeout为-1时poll调用将永远阻塞,直至某个事件发生,而当timeout为0时,poll调用将立即返回。



猜你喜欢

转载自blog.csdn.net/qq_35985044/article/details/78449728