Author: Armin Rigo <[email protected]>
Branch: c7-refactor
Changeset: r753:7072d8ddaff5
Date: 2014-02-16 10:37 +0100
http://bitbucket.org/pypy/stmgc/changeset/7072d8ddaff5/
Log: Oups, can't call this after releasing the mutex, as a different
thread might get hold of our segment.
diff --git a/c7/stm/core.c b/c7/stm/core.c
--- a/c7/stm/core.c
+++ b/c7/stm/core.c
@@ -236,10 +236,9 @@
release_thread_segment(tl); /* includes the cond_broadcast(); */
STM_PSEGMENT->safe_point = SP_NO_TRANSACTION;
STM_PSEGMENT->transaction_state = TS_NONE;
+ reset_all_creation_markers();
mutex_unlock();
-
- reset_all_creation_markers();
}
void stm_abort_transaction(void)
@@ -312,10 +311,10 @@
release_thread_segment(tl); /* includes the cond_broadcast(); */
STM_PSEGMENT->safe_point = SP_NO_TRANSACTION;
STM_PSEGMENT->transaction_state = TS_NONE;
+ reset_all_creation_markers();
+
mutex_unlock();
- reset_all_creation_markers();
-
assert(jmpbuf_ptr != NULL);
assert(jmpbuf_ptr != (stm_jmpbuf_t *)-1); /* for tests only */
__builtin_longjmp(*jmpbuf_ptr, 1);
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit