Author: Armin Rigo <[email protected]>
Branch: c8-gil-like
Changeset: r1813:dff74dc51438
Date: 2015-06-12 12:15 +0200
http://bitbucket.org/pypy/stmgc/changeset/dff74dc51438/
Log: Next crash: if I manually add usleep(100) here, boom
diff --git a/c8/stm/core.c b/c8/stm/core.c
--- a/c8/stm/core.c
+++ b/c8/stm/core.c
@@ -628,6 +628,8 @@
new = _create_commit_log_entry();
if (STM_PSEGMENT->transaction_state == TS_INEVITABLE) {
+ assert(_stm_detached_inevitable_from_thread == 0); /* running it */
+
old = STM_PSEGMENT->last_commit_log_entry;
new->rev_num = old->rev_num + 1;
OPT_ASSERT(old->next == INEV_RUNNING);
@@ -643,6 +645,8 @@
list_clear(STM_PSEGMENT->modified_old_objects);
STM_PSEGMENT->last_commit_log_entry = new;
+ usleep(100); //XXX
+
/* do it: */
bool yes = __sync_bool_compare_and_swap(&old->next, INEV_RUNNING, new);
OPT_ASSERT(yes);
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit