Author: markt
Date: Mon May 13 23:23:21 2013
New Revision: 1482144

URL: http://svn.apache.org/r1482144
Log:
Prevent file locking on context stop

Modified:
    
tomcat/trunk/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
    tomcat/trunk/java/org/apache/catalina/webresources/AbstractResourceSet.java
    tomcat/trunk/java/org/apache/catalina/webresources/JarResourceSet.java
    tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java

Modified: 
tomcat/trunk/java/org/apache/catalina/webresources/AbstractFileResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/AbstractFileResourceSet.java?rev=1482144&r1=1482143&r2=1482144&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/webresources/AbstractFileResourceSet.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/webresources/AbstractFileResourceSet.java 
Mon May 13 23:23:21 2013
@@ -120,5 +120,11 @@ public abstract class AbstractFileResour
         }
     }
 
+
+    @Override
+    protected void destroyInternal() throws LifecycleException {
+        // NO-OP
+    }
+
     protected abstract void checkType(File file);
 }

Modified: 
tomcat/trunk/java/org/apache/catalina/webresources/AbstractResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/AbstractResourceSet.java?rev=1482144&r1=1482143&r2=1482144&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/AbstractResourceSet.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/AbstractResourceSet.java 
Mon May 13 23:23:21 2013
@@ -91,9 +91,4 @@ public abstract class AbstractResourceSe
     protected final void stopInternal() throws LifecycleException {
         setState(LifecycleState.STOPPING);
     }
-
-    @Override
-    protected final void destroyInternal() throws LifecycleException {
-        // NO-OP
-    }
 }

Modified: tomcat/trunk/java/org/apache/catalina/webresources/JarResourceSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/JarResourceSet.java?rev=1482144&r1=1482143&r2=1482144&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/JarResourceSet.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/JarResourceSet.java Mon 
May 13 23:23:21 2013
@@ -268,4 +268,13 @@ public class JarResourceSet extends Abst
             throw new IllegalArgumentException(e);
         }
     }
+
+    @Override
+    protected void destroyInternal() throws LifecycleException {
+        try {
+            this.base.close();
+        } catch (IOException ioe) {
+            throw new LifecycleException(ioe);
+        }
+    }
 }

Modified: tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java?rev=1482144&r1=1482143&r2=1482144&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/webresources/StandardRoot.java Mon 
May 13 23:23:21 2013
@@ -486,7 +486,12 @@ public class StandardRoot extends Lifecy
             }
         }
 
+        main.destroy();
         mainResources.clear();
+
+        for (WebResourceSet webResourceSet : jarResources) {
+            webResourceSet.destroy();
+        }
         jarResources.clear();
 
         setState(LifecycleState.STOPPING);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to