diff -r db823e38a61c -r e9646ff34d55 mercurial/ui.py --- a/mercurial/ui.py Tue Apr 11 14:54:12 2017 -0700 +++ b/mercurial/ui.py Tue Apr 11 14:54:12 2017 -0700 @@ -801,8 +801,7 @@ if not getattr(self.ferr, 'closed', False): self.ferr.flush() except IOError as inst: - if inst.errno not in (errno.EPIPE, errno.EIO, errno.EBADF): - raise + raise error.StdioError(inst) def flush(self): # opencode timeblockedsection because this is a critical path