You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2017/09/19 20:00:08 UTC

svn commit: r1808941 - /commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java

Author: ggregory
Date: Tue Sep 19 20:00:07 2017
New Revision: 1808941

URL: http://svn.apache.org/viewvc?rev=1808941&view=rev
Log:
[VFS-291] ZIP archives are not properly closed after unzipping and cannot be deleted until the JVM exists. Do not close underlying ZipFile too aggressively; only do so if all open streams are not in use!

Modified:
    commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java

Modified: commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java
URL: http://svn.apache.org/viewvc/commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java?rev=1808941&r1=1808940&r2=1808941&view=diff
==============================================================================
--- commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java (original)
+++ commons/proper/vfs/trunk/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/zip/ZipFileObject.java Tue Sep 19 20:00:07 2017
@@ -153,6 +153,9 @@ public class ZipFileObject extends Abstr
 
     @Override
     protected void doDetach() throws Exception {
-        getAbstractFileSystem().close();
+        ZipFileSystem afs = getAbstractFileSystem();
+        if (!afs.isOpen()) {
+            afs.close();
+        }
     }
 }