[pypy-svn] pypy default: #672 -- fix a NameError in translation on osx

alex_gaynor commits-noreply at bitbucket.org
Mon Mar 14 18:30:29 CET 2011


Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: 
Changeset: r42627:04257ccf2c0a
Date: 2011-03-14 13:29 -0400
http://bitbucket.org/pypy/pypy/changeset/04257ccf2c0a/

Log:	#672 -- fix a NameError in translation on osx

diff --git a/pypy/rpython/memory/gc/env.py b/pypy/rpython/memory/gc/env.py
--- a/pypy/rpython/memory/gc/env.py
+++ b/pypy/rpython/memory/gc/env.py
@@ -192,10 +192,8 @@
                                sandboxsafe=True)
 
 def get_darwin_cache_size(cache_key):
-    cache_p = lltype.malloc(rffi.LONGLONGP.TO, 1, flavor='raw')
-    try:
-        len_p = lltype.malloc(rffi.SIZE_TP.TO, 1, flavor='raw')
-        try:
+    with lltype.scoped_alloc(rffi.LONGLONGP.TO, 1) as cache_p:
+        with lltype.scoped_alloc(rffi.SIZE_TP.TO, 1) as len_p:
             size = rffi.sizeof(rffi.LONGLONG)
             cache_p[0] = rffi.cast(rffi.LONGLONG, 0)
             len_p[0] = rffi.cast(rffi.SIZE_T, size)
@@ -205,16 +203,13 @@
                                   len_p,
                                   lltype.nullptr(rffi.VOIDP.TO),
                                   rffi.cast(rffi.SIZE_T, 0))
+            cache = 0
             if (rffi.cast(lltype.Signed, result) == 0 and
                 rffi.cast(lltype.Signed, len_p[0]) == size):
                 cache = rffi.cast(lltype.Signed, cache_p[0])
                 if rffi.cast(rffi.LONGLONG, cache) != cache_p[0]:
                     cache = 0    # overflow!
             return cache
-        finally:
-            lltype.free(len_p, flavor='raw')
-    finally:
-        lltype.free(cache_p, flavor='raw')
 
 
 def get_L2cache_darwin():


More information about the Pypy-commit mailing list