Hi,

My problem is definitely not related to multi-threaded use.  The test shows 
basically the same code that we have in production that experienced the 
problem.  The stream is used from a single thread in a try-with-resources block.

I don't see that this change is any more risky than the change that introduced 
this bug.  I'm more than happy to have the bug fixed in a different way - this 
is just the first solution that occurred to me.

Regards,

Nathan

> Subject: Re: [PATCH] JDK-8054565: FilterOutputStream.close may throw 
> IOException if called twice and underlying flush or close fails
> From: pavel.ra...@oracle.com
> Date: Thu, 4 Dec 2014 23:54:10 +0000
> CC: nathan.a.clem...@hotmail.com; core-libs-dev@openjdk.java.net
> To: e...@zusammenkunft.net
> 
> > Hello,
> > 
> > also using a stream in a multi threaded way is quite unusual most of
> > the implementations I have seen use a atomic solution.
> 
> Bernd, as far as I understand we are not talking about concurrent-proof 
> solution
> for the j.i.FilterOutputStream as this class is sure not even thread-safe. 
> Most
> of the subclasses provide their own implementation of close. If they feel they
> should be thread-safe it's their responsibility to support it.
> 
> > Let me add a comment that those stream classes are all heavily
> > overloaded in all parts of code. I think this kind of change is pretty
> > risky (and most people fixed this and other close insanities in the
> > derived methods anyway). Unfortunatelly. (remeber the
> > SupressionException problem?)
> 
> I can’t see why this particular change is risky. We're just trying to make the
> java.io.FilterOutputStream.close obey the java.io.Closeable.close contract.
> 
> -Pavel
                                          

Reply via email to