[pypy-commit] pypy default: add missing file

arigo noreply at buildbot.pypy.org
Wed Dec 10 00:02:46 CET 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r74873:33de11afa62a
Date: 2014-12-09 23:02 +0000
http://bitbucket.org/pypy/pypy/changeset/33de11afa62a/

Log:	add missing file

diff --git a/pypy/module/_rawffi/lasterror.py b/pypy/module/_rawffi/lasterror.py
new file mode 100644
--- /dev/null
+++ b/pypy/module/_rawffi/lasterror.py
@@ -0,0 +1,32 @@
+# For Windows only.
+# https://bitbucket.org/pypy/pypy/issue/1944/ctypes-on-windows-getlasterror
+
+import os
+
+_MS_WINDOWS = os.name == "nt"
+
+
+if _MS_WINDOWS:
+    from rpython.rlib import rwin32
+    from pypy.interpreter.executioncontext import Executioncontext
+
+
+    ExecutionContext._rawffi_last_error = 0
+
+    def restore_last_error(space):
+        ec = space.getexecutioncontext()
+        lasterror = ec._rawffi_last_error
+        rwin32.SetLastError(lasterror)
+
+    def save_last_error(space):
+        lasterror = rwin32.GetLastError()
+        ec = space.getexecutioncontext()
+        ec._rawffi_last_error = lasterror
+
+else:
+
+    def restore_last_error(space):
+        pass
+
+    def save_last_error(space):
+        pass


More information about the pypy-commit mailing list