Bläddra i källkod

Commit _uClibc_fread bug fix (with minor edit) posted by Johan Adolfsson <johan.adolfsson@axis.com>.

Manuel Novoa III 23 år sedan
förälder
incheckning
000e5cc436
1 ändrade filer med 4 tillägg och 0 borttagningar
  1. 4 0
      libc/stdio/stdio.c

+ 4 - 0
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;