Author: toad
Date: 2007-08-11 12:31:31 +0000 (Sat, 11 Aug 2007)
New Revision: 14592

Modified:
   trunk/freenet/src/freenet/client/ArchiveStoreContext.java
Log:
Comments on locking.
Make some fields private.

Modified: trunk/freenet/src/freenet/client/ArchiveStoreContext.java
===================================================================
--- trunk/freenet/src/freenet/client/ArchiveStoreContext.java   2007-08-11 
12:27:27 UTC (rev 14591)
+++ trunk/freenet/src/freenet/client/ArchiveStoreContext.java   2007-08-11 
12:31:31 UTC (rev 14592)
@@ -70,7 +70,7 @@
        }

        // Archive size
-       long lastSize = -1;
+       private long lastSize = -1;

        /** Returns the size of the archive last time we fetched it, or -1 */
        long getLastSize() {
@@ -84,7 +84,7 @@

        // Archive hash

-       byte[] lastHash;
+       private byte[] lastHash;

        /** Returns the hash of the archive last time we fetched it, or null */
        public byte[] getLastHash() {
@@ -96,10 +96,11 @@
                lastHash = realHash;
        }

-       // Index of still-cached ArchiveStoreItems with this key
-       
-       /** Index of still-cached ArchiveStoreItems with this key */
-       final DoublyLinkedListImpl myItems;
+       /** Index of still-cached ArchiveStoreItems with this key.
+        * Note that we never ever hold this and then take another lock! In 
particular
+        * we must not take the ArchiveManager lock while holding this lock. It 
must be
+        * the inner lock to avoid deadlocks. */
+       private final DoublyLinkedListImpl myItems;

        /**
         * Remove all ArchiveStoreItems with this key from the cache.


Reply via email to