From 84adb641545f4b58f9276adf099f840ea2928e44 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Wed, 17 Oct 2012 09:05:51 +0200 Subject: 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 Signed-off-by: Junio C Hamano --- write_or_die.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'write_or_die.c') diff --git a/write_or_die.c b/write_or_die.c index d45b53602..960f448cf 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); } -- cgit v1.2.1