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:
<https://emu.freenetproject.org/pipermail/cvs/attachments/20080404/ef41a216/attachment.pgp>