Author: Armin Rigo <ar...@tunes.org>
Branch: 
Changeset: r250:83d82fca9ee6
Date: 2013-06-24 10:43 +0200
http://bitbucket.org/pypy/stmgc/changeset/83d82fca9ee6/

Log:    Add a comment about dead threads.

diff --git a/c4/steal.c b/c4/steal.c
--- a/c4/steal.c
+++ b/c4/steal.c
@@ -69,6 +69,15 @@
 void stm_steal_stub(gcptr P)
 {
     struct tx_public_descriptor *foreign_pd = STUB_THREAD(P);
+    /* A note about dead threads: 'foreign_pd' might belong to a thread
+     * that finished and is no longer around.  In this case, note that
+     * this function will not add anything to 'foreign_pd->stolen_objects':
+     * 
+     * 1. the dead thread is not running a transaction, so there are no
+     *    private objects (so no PRIVATE_FROM_PROTECTED)
+     *
+     * 2. the dead thread has no nursery, so all of its objects are old
+     */
 
     spinlock_acquire(foreign_pd->collection_lock, 'S');   /*stealing*/
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to