You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by se...@apache.org on 2012/08/14 01:52:25 UTC

svn commit: r1372671 - /jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java

Author: sebb
Date: Mon Aug 13 23:52:25 2012
New Revision: 1372671

URL: http://svn.apache.org/viewvc?rev=1372671&view=rev
Log:
No point processing all thread groups when we know we only want to wait for one

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java?rev=1372671&r1=1372670&r2=1372671&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java Mon Aug 13 23:52:25 2012
@@ -360,7 +360,7 @@ public class StandardJMeterEngine implem
                 String groupName = startThreadGroup(group, groupCount, setupSearcher, testLevelElements, notifier);
                 if (serialized && setupIter.hasNext()) {
                     log.info("Waiting for setup thread group: "+groupName+" to finish before starting next setup group");
-                    pauseWhileRemainingThreads();
+                    pauseWhileRemainingThreads(group);
                 }
             }    
             log.info("Waiting for all setup thread groups To Exit");
@@ -393,7 +393,7 @@ public class StandardJMeterEngine implem
             String groupName=startThreadGroup(group, groupCount, searcher, testLevelElements, notifier);
             if (serialized && iter.hasNext()) {
                 log.info("Waiting for thread group: "+groupName+" to finish before starting next group");
-                pauseWhileRemainingThreads();
+                pauseWhileRemainingThreads(group);
             }
         } // end of thread groups
         if (groupCount == 0){ // No TGs found
@@ -422,7 +422,7 @@ public class StandardJMeterEngine implem
                 String groupName = startThreadGroup(group, groupCount, postSearcher, testLevelElements, notifier);
                 if (serialized && postIter.hasNext()) {
                     log.info("Waiting for post thread group: "+groupName+" to finish before starting next post group");
-                    pauseWhileRemainingThreads();
+                    pauseWhileRemainingThreads(group);
                 }
             }
             waitThreadsStopped(); // wait for Post threads to stop
@@ -432,22 +432,15 @@ public class StandardJMeterEngine implem
     }
 
     /**
-     * Loop with 1s pause while thread groups have threads running 
+     * Loop with 1s pause while thread group has threads running 
      */
-    private void pauseWhileRemainingThreads() {
-        while (running && groupsHaveThreads()) {
+    private void pauseWhileRemainingThreads(AbstractThreadGroup threadGroup) {
+        while (running && threadGroup.numberOfActiveThreads() > 0) {
             pause(1000);
         }
     }
 
     /**
-     * @return true if remaining threads
-     */
-    private boolean groupsHaveThreads() {
-        return countStillActiveThreads()>0;
-    }
-
-    /**
      * @return total of active threads in all Thread Groups
      */
     private int countStillActiveThreads() {