Fix flaxy MessageTransport test.
Review at http://gwt-code-reviews.appspot.com/234801

Review by: kjin@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7744 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java b/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java
index 770534b..befc8cb 100644
--- a/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java
+++ b/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java
@@ -123,9 +123,21 @@
     requestMessageBuilder.setServiceType(Message.Request.ServiceType.DEV_MODE);
     Message.Request request = requestMessageBuilder.build();
 
-    // Close the server's input stream; that will close the client's output
+    // Close the server's socket; that will close the client's output
     // stream
-    network.getServerSocket().getInputStream().close();
+    network.getServerSocket().close();
+
+    int sleepCycles = 0;
+    while (!network.getServerSocket().isClosed() && sleepCycles < 8) {
+      // Wait until the stream is closed before attempting to execute the
+      // request.
+      Thread.sleep(250);
+      sleepCycles++;
+    }
+
+    assertTrue(
+        "Unable to shut down server's input stream; cannot proceed with the test.",
+        network.getServerSocket().isClosed());
 
     Future<Response> responseFuture = null;
     responseFuture = messageTransport.executeRequestAsync(request);