[pypy-svn] r77227 - in pypy/branch/fast-forward: lib_pypy/_ctypes pypy/module/_rawffi

afa at codespeak.net afa at codespeak.net
Tue Sep 21 16:16:32 CEST 2010


Author: afa
Date: Tue Sep 21 16:16:30 2010
New Revision: 77227

Modified:
   pypy/branch/fast-forward/lib_pypy/_ctypes/__init__.py
   pypy/branch/fast-forward/pypy/module/_rawffi/__init__.py
   pypy/branch/fast-forward/pypy/module/_rawffi/interp_rawffi.py
Log:
Add FUNCFLAG_USE_ERRNO to _ctypes. Not used yet,
but needed to import the module.


Modified: pypy/branch/fast-forward/lib_pypy/_ctypes/__init__.py
==============================================================================
--- pypy/branch/fast-forward/lib_pypy/_ctypes/__init__.py	(original)
+++ pypy/branch/fast-forward/lib_pypy/_ctypes/__init__.py	Tue Sep 21 16:16:30 2010
@@ -4,7 +4,7 @@
 from _ctypes.primitive import _SimpleCData
 from _ctypes.pointer import _Pointer, _cast_addr
 from _ctypes.function import CFuncPtr
-from _ctypes.dll import dlopen
+from _ctypes.dll import dlopen as LoadLibrary
 from _ctypes.structure import Structure
 from _ctypes.array import Array
 from _ctypes.builtin import _memmove_addr, _string_at, _memset_addr,\
@@ -19,6 +19,8 @@
     CopyComPointer = None # XXX
 
 from _rawffi import FUNCFLAG_STDCALL, FUNCFLAG_CDECL, FUNCFLAG_PYTHONAPI
+from _rawffi import FUNCFLAG_USE_ERRNO, FUNCFLAG_USE_LASTERROR
+from _rawffi import get_errno, set_errno
 
 __version__ = '1.1.0'
 #XXX platform dependant?

Modified: pypy/branch/fast-forward/pypy/module/_rawffi/__init__.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/_rawffi/__init__.py	(original)
+++ pypy/branch/fast-forward/pypy/module/_rawffi/__init__.py	Tue Sep 21 16:16:30 2010
@@ -25,6 +25,8 @@
         'CallbackPtr'        : 'callback.W_CallbackPtr',
         '_num_of_allocated_objects' : 'tracker.num_of_allocated_objects',
         'get_libc'           : 'interp_rawffi.get_libc',
+        'get_errno'          : 'interp_rawffi.get_errno',
+        'set_errno'          : 'interp_rawffi.set_errno',
     }
 
     appleveldefs = {
@@ -41,6 +43,7 @@
 
         from pypy.rlib import libffi
         for name in ['FUNCFLAG_STDCALL', 'FUNCFLAG_CDECL', 'FUNCFLAG_PYTHONAPI',
+                     'FUNCFLAG_USE_ERRNO', 'FUNCFLAG_USE_LASTERROR',
                      ]:
             if hasattr(libffi, name):
                 Module.interpleveldefs[name] = "space.wrap(%r)" % getattr(libffi, name)

Modified: pypy/branch/fast-forward/pypy/module/_rawffi/interp_rawffi.py
==============================================================================
--- pypy/branch/fast-forward/pypy/module/_rawffi/interp_rawffi.py	(original)
+++ pypy/branch/fast-forward/pypy/module/_rawffi/interp_rawffi.py	Tue Sep 21 16:16:30 2010
@@ -8,6 +8,7 @@
 from pypy.rlib.libffi import *
 from pypy.rpython.lltypesystem import lltype, rffi
 from pypy.rlib.unroll import unrolling_iterable
+import pypy.rlib.rposix as rposix
 
 _MS_WINDOWS = os.name == "nt"
 
@@ -505,3 +506,9 @@
         return space.wrap(W_CDLL(space, get_libc_name()))
     except OSError, e:
         raise wrap_oserror(space, e)
+
+def get_errno(space):
+    return space.wrap(rposix.get_errno())
+
+def set_errno(space, w_errno):
+    rposix.set_errno(space.int_w(w_errno))



More information about the Pypy-commit mailing list