Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r76247:19539c5ed150
Date: 2015-03-04 20:28 +0100
http://bitbucket.org/pypy/pypy/changeset/19539c5ed150/

Log:    Use unsafe_escaping_ptr() in this case because the pointer value is
        escaping.

diff --git a/pypy/module/cppyy/capi/loadable_capi.py 
b/pypy/module/cppyy/capi/loadable_capi.py
--- a/pypy/module/cppyy/capi/loadable_capi.py
+++ b/pypy/module/cppyy/capi/loadable_capi.py
@@ -272,8 +272,9 @@
     return rffi.cast(rffi.LONG, space.int_w(w_cdata))
 
 def _cdata_to_ptr(space, w_cdata): # TODO: this is both a hack and dreadfully 
slow
-    with space.interp_w(cdataobj.W_CData, w_cdata, can_be_None=False) as ptr:
-        return rffi.cast(rffi.VOIDP, ptr)
+    w_cdata = space.interp_w(cdataobj.W_CData, w_cdata, can_be_None=False)
+    ptr = w_cdata.unsafe_escaping_ptr()
+    return rffi.cast(rffi.VOIDP, ptr)
 
 def c_load_dictionary(name):
     return libffi.CDLL(name)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to