Author: nextgens
Date: 2007-02-28 19:05:44 +0000 (Wed, 28 Feb 2007)
New Revision: 11930
Modified:
trunk/freenet/src/freenet/client/InsertBlock.java
Log:
Better that way : prevent possible double-free.
Modified: trunk/freenet/src/freenet/client/InsertBlock.java
===================================================================
--- trunk/freenet/src/freenet/client/InsertBlock.java 2007-02-28 18:54:38 UTC
(rev 11929)
+++ trunk/freenet/src/freenet/client/InsertBlock.java 2007-02-28 19:05:44 UTC
(rev 11930)
@@ -12,12 +12,14 @@
public class InsertBlock {
private final Bucket data;
+ private boolean isFreed;
public final FreenetURI desiredURI;
public final ClientMetadata clientMetadata;
public InsertBlock(Bucket data, ClientMetadata metadata, FreenetURI
desiredURI) {
if(data == null) throw new NullPointerException();
this.data = data;
+ this.isFreed = false;
if(metadata == null)
clientMetadata = new ClientMetadata();
else
@@ -26,10 +28,11 @@
}
public Bucket getData() {
- return data;
+ return (isFreed ? null : data);
}
- public void free(){
+ public synchronized void free(){
+ isFreed = true;
data.free();
}
}