[pypy-commit] pypy default: fixes

arigo noreply at buildbot.pypy.org
Wed Dec 10 00:17:31 CET 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r74874:99234fd4cade
Date: 2014-12-09 23:17 +0000
http://bitbucket.org/pypy/pypy/changeset/99234fd4cade/

Log:	fixes

diff --git a/pypy/module/_rawffi/interp_rawffi.py b/pypy/module/_rawffi/interp_rawffi.py
--- a/pypy/module/_rawffi/interp_rawffi.py
+++ b/pypy/module/_rawffi/interp_rawffi.py
@@ -620,12 +620,10 @@
 
 if sys.platform == 'win32':
     def get_last_error(space):
-        from rpython.rlib.rwin32 import GetLastError
-        return space.wrap(GetLastError())
+        return space.wrap(lasterror.fetch_last_error(space))
     @unwrap_spec(error=int)
     def set_last_error(space, error):
-        from rpython.rlib.rwin32 import SetLastError
-        SetLastError(error)
+        lasterror.store_last_error(space, error)
 else:
     # always have at least a dummy version of these functions
     # (https://bugs.pypy.org/issue1242)
diff --git a/pypy/module/_rawffi/lasterror.py b/pypy/module/_rawffi/lasterror.py
--- a/pypy/module/_rawffi/lasterror.py
+++ b/pypy/module/_rawffi/lasterror.py
@@ -8,11 +8,19 @@
 
 if _MS_WINDOWS:
     from rpython.rlib import rwin32
-    from pypy.interpreter.executioncontext import Executioncontext
+    from pypy.interpreter.executioncontext import ExecutionContext
 
 
     ExecutionContext._rawffi_last_error = 0
 
+    def fetch_last_error(space):
+        ec = space.getexecutioncontext()
+        return ec._rawffi_last_error
+
+    def store_last_error(space, last_error):
+        ec = space.getexecutioncontext()
+        ec._rawffi_last_error = last_error
+
     def restore_last_error(space):
         ec = space.getexecutioncontext()
         lasterror = ec._rawffi_last_error


More information about the pypy-commit mailing list