for (;;) {
int avail = sizeof(buf) - pending;
ssize_t got = read(errpipe, buf+pending, avail);
if (got==-1) {
if (errno==EINTR) continue;
for (;;) {
int avail = sizeof(buf) - pending;
ssize_t got = read(errpipe, buf+pending, avail);
if (got==-1) {
if (errno==EINTR) continue;