Jeff King <peff@xxxxxxxx> writes: > I have two reservations with this patch: > > 1. We are ignoring SIGPIPE all the time. For an alias that is calling > "log", that is fine. But if pack-objects dies on the server side, > seeing that it died from SIGPIPE is useful data, and we are > squelching that. Maybe callers of run-command should have to pass > an "ignore SIGPIPE" flag? What should this do: GIT_PAGER='head -n 1' git -p -c alias.o='!cat longfile' o Should it behave just like cat longfile | head -n 1 or should it behave differently? I am having a feeling that whatever external command given as the value of alias.$cmd should choose what error status it wants to be reported. > 2. The die_errno in handle_alias is definitely wrong. Even if we want > to print a message for signal death, showing errno is bogus unless > the return value was -1. But is it the right thing to just pass the > negative value straight to exit()? It works, but it is depending on > the fact that (unsigned char)(ret & 0xff) behaves in a certain way > (i.e., that we are on a twos-complement platform, and -13 becomes > 141). Isn't that what POSIX.1 guarantees us, though? The value of status may be 0, EXIT_SUCCESS, EXIT_FAILURE, or any other value, though only the least significant 8 bits (that is, status & 0377) shall be available to a waiting parent process. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html