[pypy-commit] stmgc default: Kill this logic, which might be dangerously close to being broken,

arigo noreply at buildbot.pypy.org
Tue Feb 24 16:55:53 CET 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r1655:c6c18f188568
Date: 2015-02-24 16:52 +0100
http://bitbucket.org/pypy/stmgc/changeset/c6c18f188568/

Log:	Kill this logic, which might be dangerously close to being broken,
	notably because "minor_collection(/*commit=*/ true)" can then be
	called more than once.

diff --git a/c7/stm/core.c b/c7/stm/core.c
--- a/c7/stm/core.c
+++ b/c7/stm/core.c
@@ -833,7 +833,6 @@
 
 void stm_commit_transaction(void)
 {
- restart_all:
     exec_local_finalizers();
 
     assert(!_has_mutex());
@@ -853,11 +852,6 @@
        Important: we should not call cond_wait() in the meantime. */
     synchronize_all_threads(STOP_OTHERS_UNTIL_MUTEX_UNLOCK);
 
-    if (any_local_finalizers()) {
-        s_mutex_unlock();
-        goto restart_all;
-    }
-
     /* detect conflicts */
     if (detect_write_read_conflicts())
         goto restart;


More information about the pypy-commit mailing list