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