On Wed, Apr 29, 2009 at 9:21 AM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
> On Tuesday 21 April 2009 08:55:53 j16sdiz at freenetproject.org 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.

>>
>> 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
>> cvs at freenetproject.org
>> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
>>
>>
>
>
>
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
>

Reply via email to