Author: kkolinko
Date: Sun Oct 26 12:31:59 2014
New Revision: 1634312

URL: http://svn.apache.org/r1634312
Log:
Simplify code that waits for threads to finish. This allows to shorten wait 
time if threads finish earlier.
A subtle difference is that Thread.join() is a synchronized method while 
Thread.isAlive() is not one.
Modified:
    tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
    tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java
    
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java
    tomcat/trunk/test/org/apache/juli/TestClassLoaderLogManager.java

Modified: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1634312&r1=1634311&r2=1634312&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Sun Oct 
26 12:31:59 2014
@@ -392,19 +392,9 @@ public class TestCometProcessor extends 
 
         tomcat.getConnector().stop();
 
-        int count = 0;
-        // Wait for the read thread to stop
-        while (readThread.isAlive() && count < 50) {
-            Thread.sleep(100);
-            count ++;
-        }
-
-        // Wait for the write thread to stop
-        count = 0;
-        while (writeThread.isAlive() && count < 50) {
-            Thread.sleep(100);
-            count ++;
-        }
+        // Wait for the read and write threads to stop
+        readThread.join(5000);
+        writeThread.join(5000);
 
         // Destroy the connector once the executor has sent the end event
         tomcat.getConnector().destroy();

Modified: tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java?rev=1634312&r1=1634311&r2=1634312&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java Sun 
Oct 26 12:31:59 2014
@@ -317,12 +317,7 @@ public class TestCoyoteAdapter extends T
         // Wait for server thread to stop
         Thread t = servlet.getThread();
         long startTime = System.nanoTime();
-        for (int count = 0; t.isAlive() && count < 20; count++) {
-            t.join(250);
-            if (!t.isAlive()) {
-                break;
-            }
-        }
+        t.join(5000);
         long endTime = System.nanoTime();
         log.info("Waited for servlet thread to stop for "
                 + (endTime - startTime) / 1000000 + " ms");

Modified: 
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java?rev=1634312&r1=1634311&r2=1634312&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java
 Sun Oct 26 12:31:59 2014
@@ -63,11 +63,7 @@ public class TestWebappClassLoaderMemory
         for (Thread thread : threads) {
             if (thread != null && thread.isAlive() &&
                     TaskServlet.TIMER_THREAD_NAME.equals(thread.getName())) {
-                int count = 0;
-                while (count < 50 && thread.isAlive()) {
-                    Thread.sleep(100);
-                    count++;
-                }
+                thread.join(5000);
                 if (thread.isAlive()) {
                     fail("Timer thread still running");
                 }

Modified: tomcat/trunk/test/org/apache/juli/TestClassLoaderLogManager.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/juli/TestClassLoaderLogManager.java?rev=1634312&r1=1634311&r2=1634312&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/juli/TestClassLoaderLogManager.java (original)
+++ tomcat/trunk/test/org/apache/juli/TestClassLoaderLogManager.java Sun Oct 26 
12:31:59 2014
@@ -76,14 +76,10 @@ public class TestClassLoaderLogManager {
         listThread.setName("LoggerList");
         listThread.start();
 
-        int count = 0;
-        while (count < 4 && listThread.isAlive()) {
-            try {
-                Thread.sleep(500);
-            } catch (InterruptedException e) {
-                // Ignore
-            }
-            count++;
+        try {
+            listThread.join(2000);
+        } catch (InterruptedException e) {
+            // Ignore
         }
 
         for (int i = 0; i < createThreads.length; i ++) {



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

Reply via email to