Mercurial > hg
diff mercurial/util.py @ 4129:e817c68edfed
stdout raises EINVAL when flush() is called on a closed pipe under win32.
Maybe the exception should be caught and translated at raise location instead (sshserver.py).
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Mon, 19 Feb 2007 10:32:46 +0100 |
parents | 587c6c652f82 |
children | 9dc64c8414ca 6f9474044736 24c22a3f2ef8 |
line wrap: on
line diff
--- a/mercurial/util.py Mon Feb 19 10:29:05 2007 +0100 +++ b/mercurial/util.py Mon Feb 19 10:32:46 2007 +0100 @@ -741,6 +741,14 @@ if inst.errno != 0: raise self.close() raise IOError(errno.EPIPE, 'Broken pipe') + + def flush(self): + try: + return self.fp.flush() + except IOError, inst: + if inst.errno != errno.EINVAL: raise + self.close() + raise IOError(errno.EPIPE, 'Broken pipe') sys.stdout = winstdout(sys.stdout)