Funkcja odczytu pliku () w systemach Unix

Poniższy kod ponownie uruchamiaread() funkcja, jeśli nie powiedzie się z powodu przerwania przez sygnał. Theread() wznawia czytanie od miejsca, w którym zostało przerwane. Więc jeśliread() zostaje przerwane tuż przed czytaniemEOF znak, co zwróci, ile przeczytanych bajtów?

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

Pozdrowienia.

questionAnswers(3)

yourAnswerToTheQuestion