]> git.ipfire.org Git - thirdparty/git.git/commit - pkt-line.c
fetch: avoid calling write_or_die()
authorJeff King <peff@peff.net>
Tue, 5 Mar 2019 04:11:39 +0000 (23:11 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 5 Mar 2019 06:02:01 +0000 (15:02 +0900)
commit37c80012f1415bc4ff23def735a87cbd395bca31
treee0bc7f5f016e97443f5ae9753cc52701123bdacd
parent0d0ac3826a3bbb9247e39e12623bbcfdd722f24c
fetch: avoid calling write_or_die()

The write_or_die() function has one quirk that a caller might not
expect: when it sees EPIPE from the write() call, it translates that
into a death by SIGPIPE. This doesn't change the overall behavior (the
program exits either way), but it does potentially confuse test scripts
looking for a non-signal exit code.

Let's switch away from using write_or_die() in a few code paths, which
will give us more consistent exit codes. It also gives us the
opportunity to write more descriptive error messages, since we have
context that write_or_die() does not.

Note that this won't do much by itself, since we'd typically be killed
by SIGPIPE before write_or_die() even gets a chance to do its thing.
That will be addressed in the next patch.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
fetch-pack.c
pkt-line.c