[pypy-commit] pypy default: issue1902: fix a buffer flush thinko that rewound the raw stream twice
pjenvey
noreply at buildbot.pypy.org
Wed Oct 29 20:39:57 CET 2014
Author: Philip Jenvey <pjenvey at underboss.org>
Branch:
Changeset: r74282:60d682352d46
Date: 2014-10-29 12:38 -0700
http://bitbucket.org/pypy/pypy/changeset/60d682352d46/
Log: issue1902: fix a buffer flush thinko that rewound the raw stream
twice
diff --git a/pypy/module/_io/interp_bufferedio.py b/pypy/module/_io/interp_bufferedio.py
--- a/pypy/module/_io/interp_bufferedio.py
+++ b/pypy/module/_io/interp_bufferedio.py
@@ -812,11 +812,6 @@
self._check_closed(space, "flush of closed file")
with self.lock:
self._flush_and_rewind_unlocked(space)
- if self.readable:
- # Rewind the raw stream so that its position corresponds to
- # the current logical position.
- self._raw_seek(space, -self._raw_offset(), 1)
- self._reader_reset_buf()
def _flush_and_rewind_unlocked(self, space):
self._writer_flush_unlocked(space)
diff --git a/pypy/module/_io/test/test_io.py b/pypy/module/_io/test/test_io.py
--- a/pypy/module/_io/test/test_io.py
+++ b/pypy/module/_io/test/test_io.py
@@ -352,3 +352,13 @@
assert mod == 'io'
else:
assert mod == '_io'
+
+ def test_issue1902(self):
+ import _io
+ with _io.open(self.tmpfile, 'w+b', 4096) as f:
+ f.write(b'\xff' * 13569)
+ f.flush()
+ f.seek(0, 0)
+ f.read(1)
+ f.seek(-1, 1)
+ f.write(b'')
More information about the pypy-commit
mailing list