Author: markt Date: Thu Mar 22 14:35:02 2012 New Revision: 1303803 URL: http://svn.apache.org/viewvc?rev=1303803&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52957 Ensure Valve implements Lifecycle before calling Lifecycle methods
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Modified: tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=1303803&r1=1303802&r2=1303803&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Thu Mar 22 14:35:02 2012 @@ -432,20 +432,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); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org