以下のコードはread()
、シグナルによる中断が原因で関数が失敗した場合に関数を再起動します。はread()
、中断された場所から読み取りを再開します。read()
文字を読み取る直前に が中断された場合EOF
、読み取ったバイト数は何を返しますか?
int r_read(int fd, void *buf, int size)
{
while((retval=read(fd,buf,size))==-1 && errno ==EINTR);
return retval;
}
よろしく。