[pypy-commit] pypy concurrent-marksweep: Use a real thread-local storage in lltype. Needed to run the
arigo
noreply at buildbot.pypy.org
Fri Oct 7 17:56:29 CEST 2011
Author: Armin Rigo <arigo at tunes.org>
Branch: concurrent-marksweep
Changeset: r47866:08367abdb6d8
Date: 2011-10-07 17:56 +0200
http://bitbucket.org/pypy/pypy/changeset/08367abdb6d8/
Log: Use a real thread-local storage in lltype. Needed to run the tests
of the concurrent GC.
diff --git a/pypy/rpython/lltypesystem/ll2ctypes.py b/pypy/rpython/lltypesystem/ll2ctypes.py
--- a/pypy/rpython/lltypesystem/ll2ctypes.py
+++ b/pypy/rpython/lltypesystem/ll2ctypes.py
@@ -27,11 +27,6 @@
from pypy.rpython import raddress
from pypy.translator.platform import platform
from array import array
-try:
- from thread import _local as tlsobject
-except ImportError:
- class tlsobject(object):
- pass
# ____________________________________________________________
@@ -1339,7 +1334,7 @@
# call to the next. Otherwise a non-zero value left behind will confuse
# CPython itself a bit later, and/or CPython will stamp on it before we
# try to inspect it via rposix.get_errno().
-TLS = tlsobject()
+TLS = lltype.tlsobject()
# helpers to save/restore the C-level errno -- platform-specific because
# ctypes doesn't just do the right thing and expose it directly :-(
diff --git a/pypy/rpython/lltypesystem/lltype.py b/pypy/rpython/lltypesystem/lltype.py
--- a/pypy/rpython/lltypesystem/lltype.py
+++ b/pypy/rpython/lltypesystem/lltype.py
@@ -10,10 +10,13 @@
from sys import maxint
import weakref
-class State(object):
- pass
+try:
+ from thread import _local as tlsobject
+except ImportError:
+ class tlsobject(object):
+ pass
-TLS = State()
+TLS = tlsobject()
class WeakValueDictionary(weakref.WeakValueDictionary):
"""A subclass of weakref.WeakValueDictionary
More information about the pypy-commit
mailing list