Author: Armin Rigo <[email protected]>
Branch: stm-thread-2
Changeset: r61323:d3c03a277e35
Date: 2013-02-16 16:09 +0100
http://bitbucket.org/pypy/pypy/changeset/d3c03a277e35/

Log:    Needs a become_inevitable()

diff --git a/pypy/module/signal/stmactionflag.py 
b/pypy/module/signal/stmactionflag.py
--- a/pypy/module/signal/stmactionflag.py
+++ b/pypy/module/signal/stmactionflag.py
@@ -1,5 +1,5 @@
 from pypy.interpreter.executioncontext import AbstractActionFlag
-from rpython.rlib import jit
+from rpython.rlib import jit, rstm
 from rpython.rlib.objectmodel import we_are_translated
 from rpython.rlib.rsignal import pypysig_get_occurred, pypysig_set_occurred
 
@@ -17,6 +17,12 @@
 
     def reset_ticker(self, value):
         if we_are_translated():
+            # explicit manipulation of the counter needs to turn the
+            # transaction inevitable.  We don't turn it inevitable in
+            # decrement_ticker() or if a real signal is received, but
+            # we turn it inevitable when this condition is detected
+            # and we reset a value >= 0.
+            rstm.become_inevitable()
             pypysig_set_occurred(value)
 
     def rearm_ticker(self):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to