diff options
Diffstat (limited to 'java/common/src/main/java/org/apache/qpid/transport/network/io/IoAcceptor.java')
-rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/network/io/IoAcceptor.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoAcceptor.java b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoAcceptor.java index c4559ae6b4..8530240dcc 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoAcceptor.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoAcceptor.java @@ -56,6 +56,17 @@ public class IoAcceptor<E> extends Thread setName(String.format("IoAcceptor - %s", socket.getInetAddress())); } + /** + Close the underlying ServerSocket if it has not already been closed. + */ + public void close() throws IOException + { + if (!socket.isClosed()) + { + socket.close(); + } + } + public IoAcceptor(String host, int port, Binding<E,ByteBuffer> binding) throws IOException { @@ -69,7 +80,7 @@ public class IoAcceptor<E> extends Thread try { Socket sock = socket.accept(); - IoTransport<E> transport = new IoTransport<E>(sock, binding); + IoTransport<E> transport = new IoTransport<E>(sock, binding,false); } catch (IOException e) { |