[pypy-svn] r77249 - in pypy/branch/fast-forward: lib_pypy/_ctypes pypy/module/_rawffi
afa at codespeak.net
afa at codespeak.net
Tue Sep 21 19:30:27 CEST 2010
Author: afa
Date: Tue Sep 21 19:30:26 2010
New Revision: 77249
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:
Export _ctypes.get_last_error, set_last_error (on Windows)
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 19:30:26 2010
@@ -23,6 +23,9 @@
from _rawffi import FUNCFLAG_USE_ERRNO, FUNCFLAG_USE_LASTERROR
from _rawffi import get_errno, set_errno
+if _os.name in ("nt", "ce"):
+ from _rawffi import get_last_error, set_last_error
+
__version__ = '1.1.0'
#XXX platform dependant?
RTLD_LOCAL = 0
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 19:30:26 2010
@@ -6,6 +6,7 @@
from pypy.module._rawffi.interp_rawffi import W_CDLL
from pypy.rpython.lltypesystem import lltype, rffi
from pypy.module._rawffi.tracker import Tracker
+import sys
class Module(MixedModule):
@@ -29,6 +30,10 @@
'set_errno' : 'interp_rawffi.set_errno',
}
+ if sys.platform == 'win32':
+ interpleveldefs['get_last_error'] = 'interp_rawffi.get_last_error'
+ interpleveldefs['set_last_error'] = 'interp_rawffi.set_last_error'
+
appleveldefs = {
'SegfaultException' : 'error.SegfaultException',
}
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 19:30:26 2010
@@ -516,3 +516,11 @@
def set_errno(space, w_errno):
rposix.set_errno(space.int_w(w_errno))
+
+def get_last_error(space):
+ from pypy.rlib.rwin32 import GetLastError
+ return space.wrap(GetLastError())
+
+def get_last_error(space, w_error):
+ from pypy.rlib.rwin32 import SetLastError
+ SetLastError(space.uint_w(w_error))
More information about the Pypy-commit
mailing list