libev的文档(来源)说:
特别值得一提的是,在撰写本文时,除了NetBSD之外,所有BSD都出现了故障(通常,除了套接字和管道之外,它不可靠地工作,除了达尔文,那里当然是完全无用的)。
它还提到:
在所有已知版本中,kqueue syscall都中断了--大多数版本只支持套接字,许多支持管道。
那么,kqueue的限制是什么呢?这些限制在哪里被记录下来?最初的研究提到了旧操作系统(MacOSX10.3)上的内核恐慌,以及对不正确/不完整文档的抱怨。我不知道这些消息有多可靠。
特别是,如果kqueue确实可以可靠地使用套接字(AF_UNIX、AF_INET和AF_INET6),那么我并不介意。我特别感兴趣的是有关Mac和FreeBSD实现的信息。
发布于 2011-05-23 14:06:27
在OS上,您不应该遇到AF_UNIX、AF_INET和AF_INET6的问题。如果您想在OS < 10.9上使用PTY,您会遇到问题,因为这些版本不支持PTY。有证据表明,在OSX10.9上,PTY最终得到了支持。
如果您尝试使用非文件描述符通知,您将开始遇到其他限制(例如,不支持AIO )。
我不熟悉FreeBSD的kqueue实现。也许其他人可以添加一些有关它的信息。
发布于 2013-03-20 19:24:49
kqueue正在FreeBSD上完美地工作,至少在网络方面是如此。我已经测试了自己的网络东西与多达180 K连接,活动插座。我不知道AIO ..。还没测试过自己。
https://stackoverflow.com/questions/6098271
复制相似问题