分享一个工业级代码,read读文件数据。
读的过程中,调用被信号中断,于是返回一个EINTR错误,read读取失败。
由于没有读到数据而被意外中断,所以需要从新读数据。
while (ret < 0 && EINTR == errno);
................bzero ( buf, sizeof(buf) );//将buf存储区清零do {ret = read (0, buf, sizeof(buf) - 1);} while (ret < 0 && EINTR == errno);if (ret < 0) {perror ("read");continue;}................
参考:https://blog.csdn.net/u011068702/article/details/62069714