From 000e5cc4360738d57ae0d9bd4267b676df7e56a4 Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Thu, 7 Jun 2001 13:38:31 +0000 Subject: Commit _uClibc_fread bug fix (with minor edit) posted by Johan Adolfsson . --- libc/stdio/stdio.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libc') diff --git a/libc/stdio/stdio.c b/libc/stdio/stdio.c index d3732dbdb..a42750832 100644 --- a/libc/stdio/stdio.c +++ b/libc/stdio/stdio.c @@ -423,8 +423,12 @@ off_t _uClibc_fread(unsigned char *buf, off_t bytes, FILE *fp) goto FROM_BUF; } + TRY_READ: len = read(fp->fd, p, (unsigned) bytes); if (len < 0) { + if (errno == EINTR) { /* We were interrupted, so try again. */ + goto TRY_READ; + } fp->mode |= __MODE_ERR; } else { p += len; -- cgit v1.2.3