Функция чтения файлов () в Unix Systems

Код ниже перезапускаетread() работать в случае сбоя из-за прерывания по сигналу.read() возобновляет чтение с того места, где оно было прервано. Так что еслиread() прерывается как раз перед чтениемEOF символ, что он вернет, сколько байтов он прочитал?

int r_read(int fd, void *buf, int size)
{
   while((retval=read(fd,buf,size))==-1 && errno ==EINTR);
   return retval;
}  

С уважением.

Ответы на вопрос(3)

Ваш ответ на вопрос