Handle EINTR in a couple places where we handle the --file-from I/O.

This commit is contained in:
Wayne Davison committed 2007-05-26 21:44:19 +00:00
1 parent 565a340b0a
commit 47cffb77de
1 file changed
+8 -6
+8 -6
View File
@@ -677,7 +677,7 @@ static int read_timeout(int fd, char *buf, size_t len)
io_filesfrom_bp = io_filesfrom_buf;
else
io_filesfrom_bp += l;
} else {
} else if (errno != EINTR) {
/* XXX should we complain? */
io_filesfrom_f_out = -1;
}
@@ -688,11 +688,13 @@ static int read_timeout(int fd, char *buf, size_t len)
io_filesfrom_buf,
sizeof io_filesfrom_buf);
if (l <= 0) {
/* Send end-of-file marker */
io_filesfrom_buf[0] = '\0';
io_filesfrom_buf[1] = '\0';
io_filesfrom_buflen = io_filesfrom_lastchar? 2 : 1;
io_filesfrom_f_in = -1;
if (l == 0 || errno != EINTR) {
/* Send end-of-file marker */
io_filesfrom_buf[0] = '\0';
io_filesfrom_buf[1] = '\0';
io_filesfrom_buflen = io_filesfrom_lastchar? 2 : 1;
io_filesfrom_f_in = -1;
}
} else {
if (!eol_nulls) {
char *s = io_filesfrom_buf + l;