[Python-Dev] Help preventing SIGPIPE/SIG_DFL anti-pattern. (original) (raw)

Alfred Perlstein alfred at freebsd.org
Sun Jul 1 00:00:33 EDT 2018


On 6/30/18 4:20 PM, Greg Ewing wrote:

Alfred Perlstein wrote:

I am asking if there's a way we can discourage the use of "signal(SIGPIPE, SIGDFL)" unless the user really understands what they are doing. Maybe there's some way that SIGPIPEs on stdout could be handled differently by default, so that they exit silently instead of producing an ugly message. That would remove the source of pain that's leading people to do this. Thank you Greg, I can poke around into this, it would be a bit of a challenge as the descriptor which causes BrokenPipeError does not appear to be stored within the exception so differentiating it from other exceptions might be a bit tricky.

I will look into this in the coming weeks.  Any tips on accomplishing this?  I was thinking of encoding the fd responsible for causing the error into the exception somehow and then checking to see if it was stdout, then not reporting on it.

-Alfred



More information about the Python-Dev mailing list