On Wednesday 29 April 2009 02:58:48 Daniel Cheng wrote: > On Wed, Apr 29, 2009 at 9:21 AM, Matthew Toseland > <[email protected]> wrote: > > On Tuesday 21 April 2009 08:55:53 [email protected] wrote: > >> Author: j16sdiz > >> Date: 2009-04-21 07:55:52 +0000 (Tue, 21 Apr 2009) > >> New Revision: 27137 > >> > >> Modified: > >> trunk/freenet/src/freenet/support/io/PersistentBlobTempBucket.java > >> Log: > >> Fix inputStream count > > > > What's the difference? Apart from your version breaks on an OOM and the > > previous version didn't? > > > If you close it twice, the counter get decreased twice.
Doh! But why the inputStreams inc move?
>
> >>
> >> Modified:
trunk/freenet/src/freenet/support/io/PersistentBlobTempBucket.java
> >> ===================================================================
> >> --- trunk/freenet/src/freenet/support/io/PersistentBlobTempBucket.java
> > 2009-04-21 07:55:31 UTC (rev 27136)
> >> +++ trunk/freenet/src/freenet/support/io/PersistentBlobTempBucket.java
> > 2009-04-21 07:55:52 UTC (rev 27137)
> >> @@ -75,17 +75,15 @@
> >> public InputStream getInputStream() throws IOException {
> >> if(freed) throw new IOException("Already freed");
> >> final FileChannel channel = factory.channel;
> >> +
> >> + synchronized(PersistentBlobTempBucket.this) {
> >> + inputStreams++;
> >> + }
> >> +
> >> return new InputStream() {
> >> -
> >> private int offset;
> >> private boolean closed;
> >>
> >> - {
> >> - synchronized(PersistentBlobTempBucket.this)
{
> >> - inputStreams++;
> >> - }
> >> - }
> >> -
> >> @Override
> >> public int read() throws IOException {
> >> if (closed) throw new
IOException("closed");
> >> @@ -130,6 +128,7 @@
> >>
> >> @Override
> >> public void close() {
> >> + if (closed) return;
> >> closed = true;
> >>
> >> synchronized(PersistentBlobTempBucket.this)
{
> >>
> >> _______________________________________________
> >> cvs mailing list
> >> [email protected]
> >> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
> >>
> >>
> >
> >
> >
> > _______________________________________________
> > Devl mailing list
> > [email protected]
> > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
> >
> _______________________________________________
> Devl mailing list
> [email protected]
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
>
>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
