[pypy-svn] r75502 - in pypy/branch/fast-ctypes/pypy: module/jitffi rlib
getxsick at codespeak.net
getxsick at codespeak.net
Tue Jun 22 18:10:44 CEST 2010
Author: getxsick
Date: Tue Jun 22 18:10:43 2010
New Revision: 75502
Modified:
pypy/branch/fast-ctypes/pypy/module/jitffi/interp_jitffi.py
pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py
Log:
workaround to avoid double loading of library
Modified: pypy/branch/fast-ctypes/pypy/module/jitffi/interp_jitffi.py
==============================================================================
--- pypy/branch/fast-ctypes/pypy/module/jitffi/interp_jitffi.py (original)
+++ pypy/branch/fast-ctypes/pypy/module/jitffi/interp_jitffi.py Tue Jun 22 18:10:43 2010
@@ -64,8 +64,7 @@
class W_CDLL(Wrappable, rjitffi.CDLL):
def __init__(self, space, name):
self.space = space
- rjitffi.CDLL.__init__(self, name)
- # XXX we load a library twice (in super-class and below)
+ rjitffi.CDLL.__init__(self, name, load=False)
self.lib_w = W_LibHandler(self.space, name)
def get_w(self, space, func, w_args_type, res_type='void'):
Modified: pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py
==============================================================================
--- pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py (original)
+++ pypy/branch/fast-ctypes/pypy/rlib/rjitffi.py Tue Jun 22 18:10:43 2010
@@ -7,11 +7,14 @@
from pypy.jit.metainterp.typesystem import deref
class CDLL(object):
- def __init__(self, name):
- try:
- self.lib = rdynload.dlopen(name)
- except rdynload.DLOpenError, e:
- raise OSError('%s: %s', name, e.msg or 'unspecified error')
+ def __init__(self, name, load=True):
+ if load:
+ try:
+ self.lib = rdynload.dlopen(name)
+ except rdynload.DLOpenError, e:
+ raise OSError('%s: %s', name, e.msg or 'unspecified error')
+ else:
+ self.lib = None
self.name = name
self.cpu = CPU(None, None)
More information about the Pypy-commit
mailing list