[pypy-svn] r74947 - pypy/trunk/pypy/module/cpyext
getxsick at codespeak.net
getxsick at codespeak.net
Mon May 31 01:31:11 CEST 2010
Author: getxsick
Date: Mon May 31 01:31:10 2010
New Revision: 74947
Modified:
pypy/trunk/pypy/module/cpyext/api.py
Log:
use rdynload instead libffi
Modified: pypy/trunk/pypy/module/cpyext/api.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/api.py (original)
+++ pypy/trunk/pypy/module/cpyext/api.py Mon May 31 01:31:10 2010
@@ -802,16 +802,18 @@
state = space.fromcache(State)
state.package_context = name
try:
- from pypy.rlib import libffi
+ from pypy.rlib import rdynload
try:
- dll = libffi.CDLL(path, False)
- except libffi.DLOpenError, e:
+ ll_libname = rffi.str2charp(path)
+ dll = rdynload.dlopen(ll_libname)
+ lltype.free(ll_libname, flavor='raw')
+ except rdynload.DLOpenError, e:
raise operationerrfmt(
space.w_ImportError,
"unable to load extension module '%s': %s",
path, e.msg)
try:
- initptr = libffi.dlsym(dll.lib, 'init%s' % (name.split('.')[-1],))
+ initptr = rdynload.dlsym(dll, 'init%s' % (name.split('.')[-1],))
except KeyError:
raise operationerrfmt(
space.w_ImportError,
More information about the Pypy-commit
mailing list