Author: Armin Rigo <ar...@tunes.org> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit