X-Git-Url: https://git.distorted.org.uk/~mdw/qmail/blobdiff_plain/2117e02ec495fdfd6e96b39778b701a5bcff8aa5..HEAD:/slurpclose.c diff --git a/slurpclose.c b/slurpclose.c index 27be0ea..2fcef15 100644 --- a/slurpclose.c +++ b/slurpclose.c @@ -1,6 +1,7 @@ #include "stralloc.h" #include "readwrite.h" #include "slurpclose.h" +#include "error.h" int slurpclose(fd,sa,bufsize) int fd; @@ -11,6 +12,7 @@ int bufsize; for (;;) { if (!stralloc_readyplus(sa,bufsize)) { close(fd); return -1; } r = read(fd,sa->s + sa->len,bufsize); + if (r == -1) if (errno == error_intr) continue; if (r <= 0) { close(fd); return r; } sa->len += r; }