You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/03/22 15:37:47 UTC

svn commit: r1303806 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/StandardPipeline.java webapps/docs/changelog.xml

Author: markt
Date: Thu Mar 22 14:37:46 2012
New Revision: 1303806

URL: http://svn.apache.org/viewvc?rev=1303806&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52957
Ensure Valve implements Lifecycle before calling Lifecycle methods

Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardPipeline.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1303803

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardPipeline.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=1303806&r1=1303805&r2=1303806&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardPipeline.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardPipeline.java Thu Mar 22 14:37:46 2012
@@ -447,20 +447,20 @@ public class StandardPipeline extends Li
         if (valve instanceof Contained)
             ((Contained) valve).setContainer(null);
 
-        // Stop this valve if necessary
-        if (getState().isAvailable()) {
-            if (valve instanceof Lifecycle) {
+        if (valve instanceof Lifecycle) {
+            // Stop this valve if necessary
+            if (getState().isAvailable()) {
                 try {
                     ((Lifecycle) valve).stop();
                 } catch (LifecycleException e) {
                     log.error("StandardPipeline.removeValve: stop: ", e);
                 }
             }
-        }
-        try {
-            ((Lifecycle) valve).destroy();
-        } catch (LifecycleException e) {
-            log.error("StandardPipeline.removeValve: destroy: ", e);
+            try {
+                ((Lifecycle) valve).destroy();
+            } catch (LifecycleException e) {
+                log.error("StandardPipeline.removeValve: destroy: ", e);
+            }
         }
         
         container.fireContainerEvent(Container.REMOVE_VALVE_EVENT, valve);

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1303806&r1=1303805&r2=1303806&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Mar 22 14:37:46 2012
@@ -130,6 +130,10 @@
         patch provided by Neale Rudd. (markt)
       </fix>
       <fix>
+        <bug>52957</bug>: Ensure that a Valve implements Lifecycle before
+        calling any Lifecycle methods on that Valve. (markt)
+      </fix>
+      <fix>
         <bug>52958</bug>: Fix MBean descriptors for
         <code>org.apache.catalina.realm</code> package. (markt)
       </fix>



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