[pypy-svn] pypy interplevel-exception-classes: signal.ItimerError at interp_level
amauryfa
commits-noreply at bitbucket.org
Fri Feb 18 14:24:37 CET 2011
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: interplevel-exception-classes
Changeset: r42170:1426ed71866b
Date: 2011-02-18 14:22 +0100
http://bitbucket.org/pypy/pypy/changeset/1426ed71866b/
Log: signal.ItimerError at interp_level
diff --git a/pypy/module/signal/__init__.py b/pypy/module/signal/__init__.py
--- a/pypy/module/signal/__init__.py
+++ b/pypy/module/signal/__init__.py
@@ -12,6 +12,7 @@
'SIG_DFL': 'space.wrap(interp_signal.SIG_DFL)',
'SIG_IGN': 'space.wrap(interp_signal.SIG_IGN)',
'default_int_handler': 'interp_signal.default_int_handler',
+ 'ItimerError': 'interp_signal.get_itimer_error(space)',
}
if os.name == 'posix':
@@ -26,7 +27,6 @@
interpleveldefs[name] = 'space.wrap(interp_signal.%s)' % (name,)
appleveldefs = {
- 'ItimerError': 'app_signal.ItimerError',
}
def buildloaders(cls):
diff --git a/pypy/module/signal/app_signal.py b/pypy/module/signal/app_signal.py
deleted file mode 100644
--- a/pypy/module/signal/app_signal.py
+++ /dev/null
@@ -1,2 +0,0 @@
-class ItimerError(IOError):
- pass
diff --git a/pypy/module/signal/interp_signal.py b/pypy/module/signal/interp_signal.py
--- a/pypy/module/signal/interp_signal.py
+++ b/pypy/module/signal/interp_signal.py
@@ -313,9 +313,13 @@
w_interval = space.wrap(double_from_timeval(val.c_it_interval))
return space.newtuple([w_value, w_interval])
+class Cache:
+ def __init__(self, space):
+ self.w_itimererror = space.new_exception_class("signal.ItimerError",
+ space.w_IOError)
+
def get_itimer_error(space):
- mod = space.getbuiltinmodule("signal")
- return space.getattr(mod, space.wrap("ItimerError"))
+ return space.fromcache(Cache).w_itimererror
@jit.dont_look_inside
@unwrap_spec(which=int, first=float, interval=float)
More information about the Pypy-commit
mailing list