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 {