You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2015/05/19 18:01:36 UTC

svn commit: r1680328 - /felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/controller/impl/ScenarioControllerImpl.java

Author: pderop
Date: Tue May 19 16:01:36 2015
New Revision: 1680328

URL: http://svn.apache.org/r1680328
Log:
Make sure the FJP is quescent before stopping the tested bundle, in order to ensure that all components are all added.

Modified:
    felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/controller/impl/ScenarioControllerImpl.java

Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/controller/impl/ScenarioControllerImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/controller/impl/ScenarioControllerImpl.java?rev=1680328&r1=1680327&r2=1680328&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/controller/impl/ScenarioControllerImpl.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.benchmark/src/org/apache/felix/dm/benchmark/controller/impl/ScenarioControllerImpl.java Tue May 19 16:01:36 2015
@@ -257,6 +257,12 @@ public class ScenarioControllerImpl impl
                 out.println("Could not start components timely: current start latch=" + m_startLatch.getCount() + ", stop latch=" + m_stopLatch.getCount());
                 Unchecked.run(() -> Thread.sleep(Integer.MAX_VALUE));
             }
+            
+            // Make sure the threadpool is quiescent and has finished to register all components
+            if (! Helper.getThreadPool().awaitQuiescence(5, TimeUnit.SECONDS)) {
+                out.println("could not start components timely (thread pool is still active after 5 seconds)");
+                Unchecked.run(() -> Thread.sleep(Integer.MAX_VALUE));
+            }
                         
             debug(() -> "stopping bundle " + b.getSymbolicName());
             b.stop();