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