It seems that s6-svscan and s6-supervise sets SIGPIPE to ignored, which is fine if that's what they want. But that setting seems to then be inherited to the entire process tree, which can cause all kinds of weird problems (very few programs themselves set signal dispositions). Mostly it's simple shell pipelines that end up printing an EPIPE error when it should normally just die silently.
I don't even see an execline helper to set a/all signals to SIG_DFL, which one could otherwise stick into the beginning of every run script - but really, I'd much rather not have to do even that, and just have s6-supervise provide a sane and predictable signal "environment" for everything it spawns. Have I missed some option or some piece of documentation? Rasmus