EINTR [when] the fclose() function was interrupted by a signal". But
looking in the current uClibc stdio.c for some bizarre reason we had a
special case where when errno was EINTR, we would keep on trying
instead. Doh! Fix that,
-Erik
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;
while (bytes) {
if ((rv = write(fp->fd, p, bytes)) < 0) {
rv = 0;
- if (errno != EINTR) {
- break;
- }
+ break;
}
p += rv;
bytes -= rv;