Author: toad
Date: 2005-11-24 16:26:39 +0000 (Thu, 24 Nov 2005)
New Revision: 7580

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/Version.java
   trunk/freenet/src/freenet/store/DataStore.java
Log:
201:
Fix some disk-full artefacts.

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2005-11-24 13:53:11 UTC 
(rev 7579)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2005-11-24 16:26:39 UTC 
(rev 7580)
@@ -351,9 +351,10 @@
             for (int i = 0; i < peers.length; i++) {
                 try {
                     peers[i].write(w);
+                    w.flush();
                 } catch (IOException e) {
                     try {
-                        fos.close();
+                        w.close();
                     } catch (IOException e1) {
                         Logger.error(this, "Cannot close file!: " + e1, e1);
                     }

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-24 13:53:11 UTC (rev 
7579)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-24 16:26:39 UTC (rev 
7580)
@@ -20,7 +20,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       public static final int buildNumber = 200;
+       public static final int buildNumber = 201;

        /** Oldest build of Fred we will talk to */
        public static final int lastGoodBuild = 196;

Modified: trunk/freenet/src/freenet/store/DataStore.java
===================================================================
--- trunk/freenet/src/freenet/store/DataStore.java      2005-11-24 13:53:11 UTC 
(rev 7579)
+++ trunk/freenet/src/freenet/store/DataStore.java      2005-11-24 16:26:39 UTC 
(rev 7580)
@@ -55,6 +55,7 @@
                _index.seek(0);
                int recordNum = 0;

+               try {
                while (_index.getFilePointer() < _index.length()) {

                    Key k = Key.read(_index);
@@ -68,6 +69,11 @@
                        updateLastAccess(dataBlock);
                        recordNum++;
                }
+               } catch (EOFException e) {
+                       // Chopped off in the middle of a key
+                       Logger.normal(this, "Store index truncated");
+                       return;
+               }
        }

        protected void deleteBlock(Block block, boolean wipeFromDisk) throws 
IOException {


Reply via email to