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

Reply via email to