[pypy-commit] stmgc c8-locking: Two extra points (thanks remi)
arigo
noreply at buildbot.pypy.org
Thu Apr 9 16:01:40 CEST 2015
Author: Armin Rigo <arigo at tunes.org>
Branch: c8-locking
Changeset: r1751:dc7653c95182
Date: 2015-04-09 16:02 +0200
http://bitbucket.org/pypy/stmgc/changeset/dc7653c95182/
Log: Two extra points (thanks remi)
diff --git a/c8/LOCKS b/c8/LOCKS
--- a/c8/LOCKS
+++ b/c8/LOCKS
@@ -34,6 +34,12 @@
the current segment modification_lock is also acquired briefly
whenever we change our segment's 'modified_old_objects'.
+_validate_and_attach() needs to have its own segment's
+modification_lock *around* the compare-and-swap, so that
+_stm_validate() sees either the commit not done and the backup copies
+still in modified_old_objects, or the commit done and no backup copies
+any more.
+
privatization_lock
@@ -70,6 +76,9 @@
synchronize_all_threads(). That's used only in rare cases, for
example because we want to start a major collection.
+The mutex also needs to be acquired for rewind_longjmp's setjmp() and
+longjmp() equivalent.
+
usleep loop
More information about the pypy-commit
mailing list