[freenet-cvs] r18976 - trunk/freenet/src/freenet/client/async

Matthew Toseland toad at amphibian.dyndns.org
Fri Apr 4 18:36:34 UTC 2008


On Friday 04 April 2008 07:12, nextgens at freenetproject.org wrote:
> Author: nextgens
> Date: 2008-04-04 06:12:05 +0000 (Fri, 04 Apr 2008)
> New Revision: 18976
> 
> Modified:
>    trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
>    trunk/freenet/src/freenet/client/async/SplitFileInserter.java
> Log:
> Some sync fixes
> 
> Modified: 
trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
> ===================================================================
> --- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java	
2008-04-04 06:05:54 UTC (rev 18975)
> +++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java	
2008-04-04 06:12:05 UTC (rev 18976)
> @@ -52,7 +52,7 @@
>  	final FetchContext fetchContext;
>  	final long maxBlockLength;
>  	/** Has the segment finished processing? Irreversible. */
> -	private boolean finished;
> +	private volatile boolean finished;
>  	private boolean startedDecode;
>  	/** Bucket to store the data retrieved, after it has been decoded */
>  	private Bucket decodedData;
> @@ -244,8 +244,10 @@
>  				parentFetcher.segmentFinished(SplitFileFetcherSegment.this);
>  		} catch (IOException e) {
>  			Logger.normal(this, "Caught bucket error?: "+e, e);
> -			finished = true;
> -			failureException = new FetchException(FetchException.BUCKET_ERROR);
> +			synchronized(this) {
> +				finished = true;
> +				failureException = new FetchException(FetchException.BUCKET_ERROR);
> +			}
>  			parentFetcher.segmentFinished(SplitFileFetcherSegment.this);
>  			return;
>  		}
> 
> Modified: trunk/freenet/src/freenet/client/async/SplitFileInserter.java
> ===================================================================
> --- trunk/freenet/src/freenet/client/async/SplitFileInserter.java	2008-04-04 
06:05:54 UTC (rev 18975)
> +++ trunk/freenet/src/freenet/client/async/SplitFileInserter.java	2008-04-04 
06:12:05 UTC (rev 18976)
> @@ -22,7 +22,7 @@
>  
>  public class SplitFileInserter implements ClientPutState {
>  
> -	private static boolean logMINOR;
> +	private boolean logMINOR;

IMHO this should be static, making it per instance is a waste of memory.

>  	final BaseClientPutter parent;
>  	final InsertContext ctx;
>  	final PutCompletionCallback cb;
> @@ -38,7 +38,7 @@
>  	private boolean haveSentMetadata;
>  	final ClientMetadata cm;
>  	final boolean isMetadata;
> -	private boolean finished;
> +	private volatile boolean finished;
>  	private boolean fetchable;
>  	public final Object token;
>  	final boolean insertAsArchiveManifest;
> 
> _______________________________________________
> cvs mailing list
> cvs at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://emu.freenetproject.org/pipermail/cvs/attachments/20080404/ef41a216/attachment.pgp 


More information about the cvs mailing list