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.