当前位置: 技术问答>linux和unix
函数read出错时,错误代码的含义?
来源: 互联网 发布时间:2015-01-16
本文导语: 相知道,当函数read返回值小于-1,错误码errno == EINTR时是什么意思??(在读sock时) 再,错误码errno对应的值在那里能查找的到??? | EINTR:Interrupted system call 你可以在/usr/include/asm/errno.h...
相知道,当函数read返回值小于-1,错误码errno == EINTR时是什么意思??(在读sock时)
再,错误码errno对应的值在那里能查找的到???
再,错误码errno对应的值在那里能查找的到???
|
EINTR:Interrupted system call
你可以在/usr/include/asm/errno.h中找到。
你可以在/usr/include/asm/errno.h中找到。
|
一般当进程收到信号时都会中断正在进行的系统调用,而去处理到来的信号,当处理完成时系统调用会返回-1并且errno == EINTR。
一般的处理方法:
1.在你的进程设置系统调用自动恢复处理;这时被中断的系统调用会自动恢复而不会出错返回;
2.当收到errno == EINTR时继续执行系统调用;
3.在执行系统调用前阻塞信号的到达,在执行完系统调用后放开对信号的阻塞;
一般的处理方法:
1.在你的进程设置系统调用自动恢复处理;这时被中断的系统调用会自动恢复而不会出错返回;
2.当收到errno == EINTR时继续执行系统调用;
3.在执行系统调用前阻塞信号的到达,在执行完系统调用后放开对信号的阻塞;