Author: toad
Date: 2009-03-27 18:54:01 +0000 (Fri, 27 Mar 2009)
New Revision: 26244
Modified:
branches/db4o/freenet/src/freenet/support/io/PersistentTempFileBucket.java
branches/db4o/freenet/src/freenet/support/io/TempBucketFactory.java
branches/db4o/freenet/src/freenet/support/io/TempFileBucket.java
Log:
Fix temp files: delete on exit is separate from delete on free.
Modified:
branches/db4o/freenet/src/freenet/support/io/PersistentTempFileBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/PersistentTempFileBucket.java
2009-03-27 18:39:43 UTC (rev 26243)
+++ branches/db4o/freenet/src/freenet/support/io/PersistentTempFileBucket.java
2009-03-27 18:54:01 UTC (rev 26244)
@@ -8,7 +8,7 @@
public class PersistentTempFileBucket extends TempFileBucket {
protected PersistentTempFileBucket(long id, FilenameGenerator
generator) {
- super(id, generator, false);
+ super(id, generator, false, true);
}
@Override
Modified: branches/db4o/freenet/src/freenet/support/io/TempBucketFactory.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/TempBucketFactory.java
2009-03-27 18:39:43 UTC (rev 26243)
+++ branches/db4o/freenet/src/freenet/support/io/TempBucketFactory.java
2009-03-27 18:54:01 UTC (rev 26244)
@@ -543,7 +543,7 @@
private final Queue<WeakReference<TempBucket>> ramBucketQueue = new
LinkedBlockingQueue<WeakReference<TempBucket>>();
private Bucket _makeFileBucket() {
- Bucket fileBucket = new
TempFileBucket(filenameGenerator.makeRandomFilename(), filenameGenerator, true);
+ Bucket fileBucket = new
TempFileBucket(filenameGenerator.makeRandomFilename(), filenameGenerator, true,
true);
// Do we want it to be encrypted?
return (reallyEncrypt ? new
PaddedEphemerallyEncryptedBucket(fileBucket, 1024, strongPRNG, weakPRNG) :
fileBucket);
}
Modified: branches/db4o/freenet/src/freenet/support/io/TempFileBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/TempFileBucket.java
2009-03-27 18:39:43 UTC (rev 26243)
+++ branches/db4o/freenet/src/freenet/support/io/TempFileBucket.java
2009-03-27 18:54:01 UTC (rev 26244)
@@ -25,6 +25,7 @@
private static boolean logDebug = true;
private boolean readOnly;
private final boolean deleteOnExit;
+ private final boolean deleteOnFree;
/**
* Constructor for the TempFileBucket object
*
@@ -32,11 +33,12 @@
*/
public TempFileBucket(
long id,
- FilenameGenerator generator, boolean deleteOnExit) {
+ FilenameGenerator generator, boolean deleteOnExit, boolean
deleteOnFree) {
super(generator.getFilename(id));
this.filenameID = id;
this.generator = generator;
this.deleteOnExit = deleteOnExit;
+ this.deleteOnFree = deleteOnFree;
synchronized(this) {
logDebug = Logger.shouldLog(Logger.DEBUG, this);
}
@@ -47,7 +49,7 @@
if (logDebug)
Logger.debug(
this,
- "Initializing TempFileBucket(" +
getFile());
+ "Initializing TempFileBucket(" +
getFile()+" deleteOnExit="+deleteOnExit);
}
if(deleteOnExit)
setDeleteOnExit(getFile());
@@ -75,7 +77,7 @@
@Override
protected boolean deleteOnFree() {
- return true;
+ return deleteOnFree;
}
@Override
@@ -109,7 +111,7 @@
}
public Bucket createShadow() throws IOException {
- TempFileBucket ret = new TempFileBucket(filenameID, generator,
false);
+ TempFileBucket ret = new TempFileBucket(filenameID, generator,
deleteOnExit, false);
ret.setReadOnly();
if(!getFile().exists()) Logger.error(this, "File does not exist
when creating shadow: "+getFile());
return ret;
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs