stdio: raise StdioError if something goes wrong in ui._write_err
The prior code used to ignore certain classes of error, which was
not the right thing to do.
--- 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