--- rsync-2.6.6.orig/exclude.c 2005-07-07 14:49:14.000000000 -0500 +++ rsync-2.6.6/exclude.c 2006-01-06 14:59:34.000000000 -0600 @@ -997,8 +997,10 @@ int ch, overflow = 0; while (1) { if ((ch = getc(fp)) == EOF) { - if (ferror(fp) && errno == EINTR) + if (ferror(fp) && errno == EINTR) { + clearerr(fp); continue; + } break; } if (word_split && isspace(ch))