当前位置:嗨网首页>书籍在线阅读

28-错误码

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

错误码

一个常见的错误是没有检查close()的返回值。这样做可能会遗漏严重错误,因为延迟操作相关的错误可能到了后期才出现,而close()的返回值早就给出了这些错误信息。在失败时,有很多可能的errno值。除了EBADF(给定的文件描述符不合法),最重要的错误码是EIO,表示底层I/O错误,该错误很可能和实际的close操作并不相关。如果忽略出现的错误,在合法情况下,文件描述符总是关闭的,而且相关的数据结构也都释放了。

close()调用绝不会返回EINTR,虽然POSIX标准允许。Linux内核开发者可能很清楚,返回EINTR并不合适。