
more issues (we hadn't had enough)


Another example for the same problem

        do {
                n = write(fd, buf, len);
        } while (n == -1 && errno == EINTR);

in this case, you'd try to cope with a write error, but there was only an interruption by a signal

solution: save and restore errno in signal handlers

