From: mturk Date: Fri, 3 Sep 2010 10:16:00 +0000 (+0000) Subject: Call join only for alive threads X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=0ff5f55d480e8c4fc9d005c464c5d7f0183b821c;p=tomcat7.0 Call join only for alive threads git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@992252 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/tomcat/util/net/AprEndpoint.java b/java/org/apache/tomcat/util/net/AprEndpoint.java index 496811fe8..80a21c4cd 100644 --- a/java/org/apache/tomcat/util/net/AprEndpoint.java +++ b/java/org/apache/tomcat/util/net/AprEndpoint.java @@ -692,32 +692,38 @@ public class AprEndpoint extends AbstractEndpoint { } for (int i = 0; i < pollers.length; i++) { pollers[i].destroy(); - try { - pollers[i].interrupt(); - pollers[i].join(); - } catch (InterruptedException e) { + if (pollers[i].isAlive()) { + try { + pollers[i].interrupt(); + pollers[i].join(); + } catch (InterruptedException e) { // Ignore + } } } pollers = null; for (int i = 0; i < cometPollers.length; i++) { cometPollers[i].destroy(); - try { - cometPollers[i].interrupt(); - cometPollers[i].join(); - } catch (InterruptedException e) { + if (cometPollers[i].isAlive()) { + try { + cometPollers[i].interrupt(); + cometPollers[i].join(); + } catch (InterruptedException e) { // Ignore + } } } cometPollers = null; if (useSendfile) { for (int i = 0; i < sendfiles.length; i++) { sendfiles[i].destroy(); - try { - sendfiles[i].interrupt(); - sendfiles[i].join(); - } catch (InterruptedException e) { - // Ignore + if (sendfiles[i].isAlive()) { + try { + sendfiles[i].interrupt(); + sendfiles[i].join(); + } catch (InterruptedException e) { + // Ignore + } } } sendfiles = null;