码迷,mamicode.com
首页 > 其他好文 > 详细

UNIX 系统调用函数errno返回值搜集(in updating )

时间:2015-11-22 12:32:52      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

当Unix系统级函数遇到错误时,它们会典型地返回-1,并设置全局整数变量errno来表示什么出错了

阅读redis源码的时候,发现如果对系统级函数出错时的errno比较熟悉,写起程序来会游刃有余不少。所以,趁着学习APUE和CSAPP的时候,将自己遇到的常用系统级函数在出错时候返回的errno总结起来(不然每个都perror一次,好累啊 ==),会随着学习进度不断找时间更新哒~

ECHILD:

#include <sys/types.h>
#include <sys/wait.h>

pid_t waitpid(pid_t pid, int *status, int options);

如果调用进程没有子进程,那么waitpid返回-1,并设置errno为ECHILD

 

EINTER:

#include <sys/types.h>
#include <sys/wait.h>

pid_t waitpid(pid_t pid, int *status, int options);

如果waitpid函数被一个信号中断,那么它返回-1,并设置errno为EINTR

 

EINVAL:

#include <unistd.h>
long sysconf(int name); long pathconf(const char *pathname, int name); log fpathconf(int fd, int name);

如果name 参数并不是一个合适的常量,这3个函数都返回 -1, 并把errno设置为EINVAL

 

ESPIPE:

#include <unistd.h>

offt_t lseek(int fd, off_t offset, int whence);

如果文件描述符指向的是一个管道、FIFO或网络套接字,因为这些文件不可以设置偏移量,所以lseek返回-1,并将errno设置为ESPIPE

 

UNIX 系统调用函数errno返回值搜集(in updating )

标签:

原文地址:http://www.cnblogs.com/viggoxskingdom/p/4985545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!