[pypy-commit] pypy py3.5: hg merge default

mjacob pypy.commits at gmail.com
Fri Mar 3 18:49:31 EST 2017


Author: Manuel Jacob <me at manueljacob.de>
Branch: py3.5
Changeset: r90521:2b8db666aa18
Date: 2017-03-04 00:48 +0100
http://bitbucket.org/pypy/pypy/changeset/2b8db666aa18/

Log:	hg merge default

diff --git a/pypy/module/_io/interp_fileio.py b/pypy/module/_io/interp_fileio.py
--- a/pypy/module/_io/interp_fileio.py
+++ b/pypy/module/_io/interp_fileio.py
@@ -2,6 +2,7 @@
 from pypy.interpreter.gateway import interp2app, unwrap_spec
 from pypy.interpreter.error import (
     OperationError, oefmt, wrap_oserror, wrap_oserror2, exception_from_errno)
+from rpython.rlib.objectmodel import keepalive_until_here
 from rpython.rlib.rarithmetic import r_longlong
 from rpython.rlib.rposix import get_saved_errno
 from rpython.rlib.rstring import StringBuilder
@@ -485,6 +486,7 @@
             # with a valid raw address
             # XXX TODO(mjacob): implement PEP 475 here!
             got = os_read(self.fd, target_address, length)
+            keepalive_until_here(rwbuffer)
             got = rffi.cast(lltype.Signed, got)
             if got >= 0:
                 return space.newint(got)
@@ -493,7 +495,6 @@
                 if err == errno.EAGAIN:
                     return space.w_None
                 raise exception_from_errno(space, space.w_IOError, err)
-            keepalive_until_here(rwbuffer)
 
     def readall_w(self, space):
         self._check_closed(space)


More information about the pypy-commit mailing list