Re: [PATCH v3 08/19] write_or_die: raise SIGPIPE when we get EPIPE
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Feb 20, 2013, 22:06 UTC
- Message-ID
- <20130220220637.GC24236@google.com>
- In-Reply-To
- <20130220220359.GA1417@sigill.intra.peff.net>
Jeff King wrote:
> On Wed, Feb 20, 2013 at 02:01:14PM -0800, Jonathan Nieder wrote:
Show 13 quoted lines
>>>> How about
>>>>
>>>> die("BUG: another thread changed SIGPIPE handling behind my back!");
>>>>
>>>> to make it easier to find and fix such problems?
>>>
>>> You mean for the "should never happen" bit, not the first part, right? I
>>> actually wonder if we should simply exit(141) in the first place. That
>>> is shell exit-code for SIGPIPE death already (so it's what our
>>> run_command would show us, and what anybody running us through shell
>>> would see).
>>
>> Yes, for the "should never happen" part.[...]
> I don't mind adding a "BUG: " message like you described, but we should > still try to exit(141) as the backup, since that is the shell-equivalent > code to the SIGPIPE signal death.
If you want. :)
I think caring about graceful degradation of behavior in the case of an assertion failure is overengineering, but it's mostly harmless.