从write()
的手册页开始
注意,成功的write()传输的字节数可能少于计数字节。发生这种部分写入的原因可能多种多样。例如,因为磁盘设备上的空间不足,无法全部写入所请求的字节数,或者由于blocked write()to socket,管道,或类似的东西被信号处理程序打断]]转移了一些,但是在转移了所有请求之前个字节。在部分写入的情况下,调用者可以进行另一次写入write()调用以传输剩余的字节。后续通话可能会传输更多字节或可能导致错误(例如,如果磁盘现在已满)。
我有以下问题
1]如果在部分传输后write()
被信号处理程序中断,将write()设置为errno
到EINTR
吗?
2)如果未设置errno
,是否有办法无需额外的代码就能识别此类事件(如安装信号处理并将标志值设置为true
)?
注意:
发生信号中断后,write()
成功传输了剩余的字节。摘自write()的手册页,注意,成功的write()传输的字节数可能少于计数字节。发生这种部分写入的原因可能多种多样。例如,因为有...
回答您的个人编号问题: