[pypy-commit] extradoc extradoc: Four steps again...

arigo noreply at buildbot.pypy.org
Sun Aug 19 14:08:40 CEST 2012


Author: Armin Rigo <arigo at tunes.org>
Branch: extradoc
Changeset: r4710:8b36a557704d
Date: 2012-08-19 14:08 +0200
http://bitbucket.org/pypy/extradoc/changeset/8b36a557704d/

Log:	Four steps again...

diff --git a/talk/stm2012/stmimpl.rst b/talk/stm2012/stmimpl.rst
--- a/talk/stm2012/stmimpl.rst
+++ b/talk/stm2012/stmimpl.rst
@@ -405,7 +405,7 @@
 Committing
 ------------------------------------
 
-Committing is a five-steps process:
+Committing is a four-steps process:
 
 1. We first find all global objects with a local copy that has been
 written to, and mark them "locked" by putting in their ``h_revision``
@@ -414,18 +414,16 @@
 
 2. We atomically increase the global time (with LOCK CMPXCHG).
 
-3. We prepare the local versions of the global modified objects to
-become the next head of the chained lists, by fixing the headers.
-
-4. We check again that all read objects are still up-to-date, i.e. have
+3. We check again that all read objects are still up-to-date, i.e. have
 not been replaced by a revision more recent than ``start_time``.  (This
 is the last chance to abort a conflicting transaction; if we do, we have
 to remember to release the locks.)
 
-5. Finally, we unlock the global objects by overriding their
+4. Finally, we unlock the global objects by overriding their
 ``h_revision``.  We put there now a pointer to the corresponding
-previously-local object.  The previously-local object plays from now on
-the role of the global head of the chained list.
+previously-local object, and the previously-local object's header is
+fixed so that it plays from now on the role of the global head of the
+chained list.
 
 In pseudo-code::
 


More information about the pypy-commit mailing list