Author: toad
Date: 2005-11-12 00:58:36 +0000 (Sat, 12 Nov 2005)
New Revision: 7534
Modified:
trunk/freenet/src/freenet/node/Version.java
trunk/freenet/src/freenet/support/PaddedEphemerallyEncryptedBucket.java
Log:
171:
Found the real fd leak. :)
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-12 00:41:46 UTC (rev
7533)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-12 00:58:36 UTC (rev
7534)
@@ -20,10 +20,10 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 170;
+ public static final int buildNumber = 171;
/** Oldest build of Fred we will talk to */
- public static final int lastGoodBuild = 170;
+ public static final int lastGoodBuild = 171;
/** The highest reported build of fred */
public static int highestSeenBuild = buildNumber;
Modified:
trunk/freenet/src/freenet/support/PaddedEphemerallyEncryptedBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/PaddedEphemerallyEncryptedBucket.java
2005-11-12 00:41:46 UTC (rev 7533)
+++ trunk/freenet/src/freenet/support/PaddedEphemerallyEncryptedBucket.java
2005-11-12 00:58:36 UTC (rev 7534)
@@ -101,21 +101,25 @@
}
public void close() throws IOException {
- if(streamNumber != lastOutputStream) {
- Logger.normal(this, "Not padding out to length
because have been superceded: "+getName());
- return;
- }
- synchronized(PaddedEphemerallyEncryptedBucket.this) {
- long finalLength = paddedLength();
- long padding = finalLength - dataLength;
- byte[] buf = new byte[4096];
- long writtenPadding = 0;
- while(writtenPadding < padding) {
- int left = Math.min((int) (padding -
writtenPadding), buf.length);
- paddingSource.nextBytes(buf);
- out.write(buf, 0, left);
- writtenPadding += left;
+ try {
+ if(streamNumber != lastOutputStream) {
+ Logger.normal(this, "Not padding out to
length because have been superceded: "+getName());
+ return;
}
+
synchronized(PaddedEphemerallyEncryptedBucket.this) {
+ long finalLength = paddedLength();
+ long padding = finalLength - dataLength;
+ byte[] buf = new byte[4096];
+ long writtenPadding = 0;
+ while(writtenPadding < padding) {
+ int left = Math.min((int)
(padding - writtenPadding), buf.length);
+ paddingSource.nextBytes(buf);
+ out.write(buf, 0, left);
+ writtenPadding += left;
+ }
+ }
+ } finally {
+ out.close();
}
}
}
@@ -177,6 +181,10 @@
}
return skipped;
}
+
+ public void close() throws IOException {
+ in.close();
+ }
}
/**