[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