gpt4 book ai didi

macos - 套接字文件描述符> FD_SETSIZE在OS X上是否有效?

转载 作者:行者123 更新时间:2023-12-03 11:54:31 24 4
gpt4 key购买 nike

在OS X上,我们发现对::: socket(...)的调用有时可以返回大于FD_SETSIZE的文件描述符。根据::: socket(...)的文档,这是一个成功的请求,因为只有返回值-1表示失败。但是,在我们的整个代码库中-在使用描述符之前-我们正在测试它在0到FD_SETSIZE(含)范围内。

这是正确的做法吗?还是我们可以安全地继续使用描述符大于FD_SETSIZE的套接字?

发生这种情况的原因是因为我们正在调用带有RLIMIT_NOFILE标志的:: setrlimit(...),以增加文件描述符的最大数量。我们需要这样做,因为我们的应用程序必须同时打开大量文件。但是,此值是通过使用KERN_MAXFILESPERPROC标志调用sysctl(...)获得的,并在运行时设置,而FD_SETSIZE是编译时设置。

最佳答案

您可以使用套接字描述符,该套接字描述符的值大于FD_SETSIZE,而不是fd_set

关于macos - 套接字文件描述符> FD_SETSIZE在OS X上是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9128375/

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