Author: Armin Rigo <[email protected]>
Branch: stm-thread-2
Changeset: r61620:166e672afd5d
Date: 2013-02-22 17:05 +0100
http://bitbucket.org/pypy/pypy/changeset/166e672afd5d/
Log: Tweaks
diff --git a/lib_pypy/transaction.py b/lib_pypy/transaction.py
--- a/lib_pypy/transaction.py
+++ b/lib_pypy/transaction.py
@@ -40,6 +40,13 @@
pass
signals_enabled = _SignalsEnabled()
+try:
+ from __pypy__.thread import last_abort_info
+except ImportError:
+ # Not a STM-enabled PyPy.
+ def last_abort_info():
+ return None
+
def set_num_threads(num):
"""Set the number of threads to use."""
@@ -215,6 +222,9 @@
with atomic:
if got_exception:
return # return early if already an exc. to reraise
+ info = last_abort_info()
+ if info is not None:
+ print info
f(*args, **kwds)
except:
got_exception[:] = sys.exc_info()
diff --git a/pypy/module/__pypy__/__init__.py b/pypy/module/__pypy__/__init__.py
--- a/pypy/module/__pypy__/__init__.py
+++ b/pypy/module/__pypy__/__init__.py
@@ -40,6 +40,7 @@
'_exclusive_atomic_enter': 'interp_atomic.exclusive_atomic_enter',
'_atomic_exit': 'interp_atomic.atomic_exit',
'last_abort_info': 'interp_atomic.last_abort_info',
+ 'discard_last_abort_info': 'interp_atomic.discard_last_abort_info',
}
diff --git a/pypy/module/__pypy__/interp_atomic.py
b/pypy/module/__pypy__/interp_atomic.py
--- a/pypy/module/__pypy__/interp_atomic.py
+++ b/pypy/module/__pypy__/interp_atomic.py
@@ -51,6 +51,10 @@
assert p[0] == '\0'
return w_obj
+def discard_last_abort_info(space):
+ from rpython.rlib.rstm import charp_inspect_abort_info
+ charp_inspect_abort_info()
+
def bdecode(space, p):
return decoder[p[0]](space, p)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit