[pypy-svn] pypy interplevel-exception-classes: mmap.error at interp-level

amauryfa commits-noreply at bitbucket.org
Fri Feb 18 14:03:41 CET 2011


Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: interplevel-exception-classes
Changeset: r42166:c9dae975baef
Date: 2011-02-18 13:53 +0100
http://bitbucket.org/pypy/pypy/changeset/c9dae975baef/

Log:	mmap.error at interp-level

diff --git a/pypy/module/mmap/interp_mmap.py b/pypy/module/mmap/interp_mmap.py
--- a/pypy/module/mmap/interp_mmap.py
+++ b/pypy/module/mmap/interp_mmap.py
@@ -268,7 +268,11 @@
 ACCESS_WRITE = rmmap.ACCESS_WRITE
 ACCESS_COPY  = rmmap.ACCESS_COPY
 
+class Cache:
+    def __init__(self, space):
+        self.w_error = space.new_exception_class("mmap.error",
+                                                 space.w_EnvironmentError)
+
 def mmap_error(space, e):
-    w_module = space.getbuiltinmodule('mmap')
-    w_error = space.getattr(w_module, space.wrap('error'))
+    w_error = space.fromcache(Cache).w_error
     return wrap_oserror(space, e, w_exception_class=w_error)

diff --git a/pypy/module/mmap/app_mmap.py b/pypy/module/mmap/app_mmap.py
deleted file mode 100644
--- a/pypy/module/mmap/app_mmap.py
+++ /dev/null
@@ -1,2 +0,0 @@
-class error(EnvironmentError):
-    pass

diff --git a/pypy/module/mmap/__init__.py b/pypy/module/mmap/__init__.py
--- a/pypy/module/mmap/__init__.py
+++ b/pypy/module/mmap/__init__.py
@@ -8,11 +8,11 @@
         'ACCESS_READ' : 'space.wrap(interp_mmap.ACCESS_READ)',
         'ACCESS_WRITE': 'space.wrap(interp_mmap.ACCESS_WRITE)',
         'ACCESS_COPY' : 'space.wrap(interp_mmap.ACCESS_COPY)',
-        'mmap': 'interp_mmap.W_MMap'
+        'mmap': 'interp_mmap.W_MMap',
+        'error': 'space.fromcache(interp_mmap.Cache).w_error',
     }
 
     appleveldefs = {
-        'error': 'app_mmap.error'
     }
     
     def buildloaders(cls):


More information about the Pypy-commit mailing list