首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用uname(2)检查错误?

用uname(2)检查错误?
EN

Stack Overflow用户
提问于 2014-12-28 22:56:20
回答 1查看 402关注 0票数 0

调用uname(2)后是否需要检查错误

根据手册页:

如果成功,则返回零。如果出现错误,则返回-1,并适当设置errno。

在错误标题下,

EFAULT buf无效。

是列出的唯一错误。

因此,我是否可以假设,如果给一个有效的uname缓冲区,struct utsname永远不会失败?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-28 23:01:55

不是的。

仅仅因为EFAULT是列出的唯一errno,并不意味着只要您传递有效的缓冲区,uname就永远不会失败。它可能会因为任何其他原因而失败。也就是说,如果uname的返回代码是-1,那么不管errno的值如何,它都失败了。

只有当函数/系统调用指示失败时,errno才有意义;它本身并不定义库函数/syscall的成功/失败。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27681446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档