Author: Armin Rigo <ar...@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 _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit