在 Solaris 上套接字发送/接收可以返回 errno 27 (EFBIG) 吗?
Solaris 上套接字发送/接收可以设置 errno 27 (EFBIG) 吗?什么情况下会发生这种情况?
Can socket send / recv set errno 27 (EFBIG) on Solaris? Under which condition this happens?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
man receive
< /a> 没有记录EFBIG
这意味着如果您看到它,则说明您在操作系统中遇到了错误。请联系SunOracle Solaris 支持。如果您使用的是 OpenSolaris,愚蠢的搜索表明套接字本身不返回 EBIG(在 sys/common/inet/ 下没有匹配项;例如与搜索 ENOBUFS 进行比较)。对我来说,这表明您可能:
-1u
字节甚至在到达套接字 API 之前就会被捕获。 (不太可能使用其他错误代码。)man recv
doesn't documentEFBIG
meaning that if you see it, you have encountered a bug in the OS. Contact theSunOracle Solaris support.If you are on the OpenSolaris, the dumb search reveals that sockets themselves do not return
EFBIG
(no matches undersys/common/inet/
; compare e.g. with search forENOBUFS
). To me that tells that you might:-1u
bytes which would be caught even before reaching the sockets API. (unlikely for that other error codes are used.)