Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r1739:a0b5046a7bea
Date: 2015-03-22 08:38 +0100
http://bitbucket.org/pypy/stmgc/changeset/a0b5046a7bea/

Log:    a rare (maybe impossible) case

diff --git a/c7/stm/core.c b/c7/stm/core.c
--- a/c7/stm/core.c
+++ b/c7/stm/core.c
@@ -351,7 +351,9 @@
     STM_PSEGMENT->shadowstack_at_start_of_transaction = tl->shadowstack;
     STM_PSEGMENT->threadlocal_at_start_of_transaction = tl->thread_local_obj;
 
-    uint8_t rv = STM_SEGMENT->transaction_read_version + 1;
+    uint8_t rv = STM_SEGMENT->transaction_read_version;
+    if (rv < 0xff)   /* else, rare (maybe impossible?) case: we did already */
+        rv++;        /* incr it but enter_safe_point_if_requested() aborted */
     STM_SEGMENT->transaction_read_version = rv;
 
     enter_safe_point_if_requested();
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to