[OpenJDK 2D-Dev] FileCacheImageOutputStream.close() is not idempotent

Martin Desruisseaux martin.desruisseaux at geomatys.fr
Thu Jun 14 20:51:37 UTC 2012


Le 14/06/12 22:36, Phil Race a écrit :
> It looks as if the new proposed fix will mean cached data isn't 
> flushed before you close
> the stream ??

I don't think so. The call to super.close() executes the following code, 
which is declared in ImageInputStreamImpl (there is no close() method in 
ImageOutputStreamImpl):

     public void close() throws IOException {
         checkClosed();
         isClosed = true;
     }

There is apparently nothing else in the call to super.close(). 
Furthermore, other implementations like FileImageOutputStream also 
perform the same super.close() call first.

     Martin




More information about the 2d-dev mailing list