调用uname(2)
后是否需要检查错误?
根据手册页:
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
在错误标题下,
EFAULT buf is not valid.
是列出的唯一错误。
因此,我是否可以假设,如果给定有效的 struct utsname
缓冲区,uname
永远不会失败?
最佳答案
没有。
仅仅因为 EFAULT
是唯一列出的 errno
,并不意味着只要您传递有效的缓冲区,uname
就永远不会失败。它可能会因任何其他原因而失败。即,如果 uname
的返回代码为 -1
,则无论 errno
的值如何,它都会失败。
errno
仅当函数/系统调用指示失败时才有意义;它本身并不定义库函数/系统调用的成功/失败。
关于c - 使用 uname(2) 检查错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681446/