libev ( source ) 的文档说:
Kqueue 值得特别一提,在撰写本文时,它在除 NetBSD 之外的所有 BSD 上都被破坏(通常它不能可靠地与套接字和管道一起工作,除了在 Darwin 上,它当然完全没用)。
它还提到:
kqueue 系统调用在所有已知版本中都被破坏 - 大多数版本仅支持套接字,许多支持管道。
那么,kqueue 有哪些限制呢?这些限制记录在哪里?最初的研究发现了对旧操作系统(Mac OS X 10.3)上内核恐慌的引用以及对不正确/不完整文档的抱怨。我不知道这些消息来源有多可靠。
特别是,如果 kqueue 确实可以可靠地使用套接字(AF_UNIX、AF_INET 和 AF_INET6),那么我不介意。我对有关 Mac OS X 和 FreeBSD 实现的信息特别感兴趣。