如何解决kqueue有什么局限性?
| libev的文档(源)说: 值得一提的是Kqueue,因为在撰写本文时,它在除NetBSD之外的所有BSD上都被破坏了(通常它不能与套接字和管道一起可靠地工作,除了在Darwin上,当然它是完全没用的) )。 它还提到: kqueue syscall在所有已知版本中均被破坏-大多数版本仅支持套接字,许多支持管道。 那么,kqueue的局限性是什么?这些限制在哪里记录?最初的研究发现了对旧版操作系统(Mac OS X 10.3)上的内核恐慌的参考,以及有关文档不正确/不完整的投诉。我不知道这些来源有多可靠。 特别是,如果kqueue确实可以与套接字(AF_UNIX,AF_INET和AF_INET6)可靠地一起工作,那么我不在乎。我对有关Mac OS X和FreeBSD实现的信息特别感兴趣。解决方法
在OS X上,
AF_UNIX
,AF_INET
和AF_INET6
应该没有问题。如果要在OS X <10.9上的PTY中使用它,则会遇到问题,因为这些版本不支持PTY。有证据表明,在OS X 10.9上最终支持PTY。
如果尝试使用非文件描述符通知,您将开始遇到其他限制(例如,不支持AIO)。
我对FreeBSD的kqueue实现不熟悉。也许其他人可以添加有关此信息。
,kqueue
可以在FreeBSD上完美运行,至少对于网络而言。我已经使用最多18万个活动插座对自己的网络进行了测试。我不知道AIO ..还没有测试自己。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。