[Python-Dev] Help preventing SIGPIPE/SIG_DFL anti-pattern.

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, SIG_DFL)" 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