From: Jonathan Nieder Date: Wed, 20 Feb 2013 22:06:37 GMT Subject: Re: [PATCH v3 08/19] write_or_die: raise SIGPIPE when we get EPIPE 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: >>>> 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.