diff options
author | Johannes Sixt <j6t@kdbg.org> | 2012-10-17 09:05:51 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-10-17 00:33:42 -0700 |
commit | 84adb641545f4b58f9276adf099f840ea2928e44 (patch) | |
tree | d254096fe4a3e94ac9f79d88be6dd83cf6c21590 /write_or_die.c | |
parent | bafc478f1618534fcb85bedc0fa224bd2d462441 (diff) | |
download | git-84adb641545f4b58f9276adf099f840ea2928e44.tar.gz |
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.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/write_or_die.c b/write_or_die.c index d45b536021..960f448cff 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); } |