summaryrefslogtreecommitdiff
path: root/write_or_die.c
diff options
context:
space:
mode:
authorJohannes Sixt <j6t@kdbg.org>2012-10-17 07:05:51 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-10-17 07:33:42 (GMT)
commit84adb641545f4b58f9276adf099f840ea2928e44 (patch)
treed254096fe4a3e94ac9f79d88be6dd83cf6c21590 /write_or_die.c
parentbafc478f1618534fcb85bedc0fa224bd2d462441 (diff)
downloadgit-84adb641545f4b58f9276adf099f840ea2928e44.zip
git-84adb641545f4b58f9276adf099f840ea2928e44.tar.gz
git-84adb641545f4b58f9276adf099f840ea2928e44.tar.bz2
maybe_flush_or_die: move a too-loose Windows specific error
check to compat Commit b2f5e268 (Windows: Work around an oddity when a pipe with no reader is written to) introduced a check for EINVAL after fflush() to fight spurious "Invalid argument" errors on Windows when a pipe was broken. But this check may hide real errors on systems that do not have the this odd behavior. Introduce an fflush wrapper in compat/mingw.* so that the treatment is only applied on Windows. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'write_or_die.c')
-rw-r--r--write_or_die.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/write_or_die.c b/write_or_die.c
index d45b536..960f448 100644
--- a/write_or_die.c
+++ b/write_or_die.c
@@ -34,12 +34,7 @@ void maybe_flush_or_die(FILE *f, const char *desc)
return;
}
if (fflush(f)) {
- /*
- * On Windows, EPIPE is returned only by the first write()
- * after the reading end has closed its handle; subsequent
- * write()s return EINVAL.
- */
- if (errno == EPIPE || errno == EINVAL)
+ if (errno == EPIPE)
exit(0);
die_errno("write failure on '%s'", desc);
}