gpt4 book ai didi

select - 是否有相当于 select( )'s "errorfds"set 的 kqueue()/kevent() ?

转载 作者:行者123 更新时间:2023-12-02 09:22:14 25 4
gpt4 key购买 nike

今天我将一些代码从 select() 移植到 kqueue(),我注意到 kevent() 似乎没有 select() 的“异常设置”功能的模拟。

也就是说,select()的函数签名是:

int select(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, fd_set *restrict errorfds, struct timeval *restrict timeout);

...对于 kevent(),EVFILT_READ 对应于 (readfds),EVFILT_WRITE 对应于 (writefds),但我没有看到任何类似 EVFILT_ERROR 的内容对应于 (errorfds)。

kevent() 下是否真的不支持套接字错误条件,或者是否存在但以某种对我来说不明显的方式实现?

最佳答案

不可能以这种方式进行过滤。您必须根据标志 (EV_EOF) 和 fflags 手动对传入事件进行分类。

关于select - 是否有相当于 select( )'s "errorfds"set 的 kqueue()/kevent() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8570684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com