我正在编写一个跨平台的库,它模拟套接字行为,在(App-> mylib->套接字)之间具有附加功能。是否有与eventfd相当的Windows?
我希望它是最透明的可能的程序员,所以元像select和poll必须用这个LIB相应的工作。
问题是,当数据变得可用(例如)在真实套接字中时,它将不得不经过大量处理,所以如果选择指向真实套接字fd,应用程序将被阻塞很多时间。我希望select/poll只在数据准备好被使用时解锁(在我的lib完成所有处理之后)。
所以,我碰到这个eventfd,让我做的正是我想要的,即到manipule在给定的FD选择/ poll的行为。
因为我对Linux环境更熟悉,所以我不知道什么是eventfd的等效窗口。试图寻找,但没有运气。
注意: 其他方法是使用与接口连接的另一个套接字,但似乎有这么多的开销。仅仅因为Windows没有(看起来如此)这个功能而使用所有数据进行系统调用。
或者我可以实现我自己的选择,重新发明轮子。 =/
Windows只在WinSock中提供'select',这意味着它只能在网络套接字上运行,而不是在文件描述符上运行。 – 2012-12-19 18:48:52