[infinispan-commits] Infinispan SVN: r1011 - trunk/core/src/test/java/org/infinispan/profiling.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Mon Oct 26 12:23:21 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-10-26 12:23:21 -0400 (Mon, 26 Oct 2009)
New Revision: 1011
Modified:
trunk/core/src/test/java/org/infinispan/profiling/ProfileTestSlave.java
Log:
Cleaner exit
Modified: trunk/core/src/test/java/org/infinispan/profiling/ProfileTestSlave.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/profiling/ProfileTestSlave.java 2009-10-26 16:15:24 UTC (rev 1010)
+++ trunk/core/src/test/java/org/infinispan/profiling/ProfileTestSlave.java 2009-10-26 16:23:21 UTC (rev 1011)
@@ -47,11 +47,22 @@
}
private void waitForTest() throws Exception {
+ Thread t = new Thread() {
+ @Override
+ public void run() {
+ try {
+ System.in.read();
+ } catch (Exception e) {
+ }
+ }
+ };
+
// attach a view change listener
- cacheManager.addListener(new ShutdownHook());
+ cacheManager.addListener(new ShutdownHook(t));
System.out.println("Slave listening for remote connections. Hit Enter when done.");
- System.in.read();
- System.in.read();
+
+ t.start();
+ t.join();
}
private void doTest() {
@@ -69,11 +80,18 @@
@Listener
public static final class ShutdownHook {
+ final Thread completionThread;
+
+ public ShutdownHook(Thread completionThread) {
+ this.completionThread = completionThread;
+ }
+
@ViewChanged
public void viewChanged(ViewChangedEvent vce) {
+ System.out.println("Saw view change event " + vce);
// if the new view ONLY contains me, die!
if (vce.getOldMembers().size() > vce.getNewMembers().size() && vce.getNewMembers().size() == 1 && vce.getNewMembers().contains(vce.getLocalAddress())) {
- System.exit(0);
+ completionThread.interrupt();
}
}
}
More information about the infinispan-commits
mailing list