I tested removing the SIGPIPE handling and added "while (fgetc(fp) != EOF) ;" in the relevant test and the test passed in the setup where it failed before, so that provides some evidence that my diagnosis was correct. I did notice that gs --version produces its output in two syscalls: mwhudson@anduril:~$ strace -e write gs --version >/dev/null write(1, "9.50", 4) = 4 write(1, "\n", 1) = 1 +++ exited with 0 +++ I assume if it did it all in one, the SIGPIPE would never occur in practice. I have no...
test3 should ignore SIGPIPE