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