You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/03/11 17:33:24 UTC

svn commit: r1299392 - in /axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server: DefaultConnectionListener.java SimpleHttpServer.java

Author: veithen
Date: Sun Mar 11 16:33:23 2012
New Revision: 1299392

URL: http://svn.apache.org/viewvc?rev=1299392&view=rev
Log:
Avoid hang when port is already in use.

Modified:
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SimpleHttpServer.java

Modified: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java?rev=1299392&r1=1299391&r2=1299392&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java Sun Mar 11 16:33:23 2012
@@ -116,7 +116,7 @@ public class DefaultConnectionListener i
     }
 
     public synchronized void awaitSocketOpen() throws InterruptedException {
-        while (serversocket == null) {
+        while (serversocket == null && !destroyed) {
             wait();
         }
     }
@@ -132,7 +132,7 @@ public class DefaultConnectionListener i
         }
     }
 
-    public void destroy() {
+    public synchronized void destroy() {
         this.destroyed = true;
         try {
             close();
@@ -143,7 +143,7 @@ public class DefaultConnectionListener i
         }
     }
 
-    public boolean isDestroyed() {
+    public synchronized boolean isDestroyed() {
         return this.destroyed;
     }
 

Modified: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SimpleHttpServer.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SimpleHttpServer.java?rev=1299392&r1=1299391&r2=1299392&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SimpleHttpServer.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/SimpleHttpServer.java Sun Mar 11 16:33:23 2012
@@ -100,7 +100,9 @@ public class SimpleHttpServer {
         this.listenerExecutor.execute(listener);
         try {
             listener.awaitSocketOpen();
-            port = listener.getPort();
+            if (!listener.isDestroyed()) {
+                port = listener.getPort();
+            }
         } catch (InterruptedException ex) {
             Thread.currentThread().interrupt();
         }