From 151bf08095137c7e19b174ae7e0a1f330f62cf65 Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Mon, 1 Jun 2009 04:17:10 +0000 Subject: [PATCH] Fixed issue: NETTY-163 OioDatagramChannel.connect() hangs if called on a bound channel * Set SO_TIMEOUT of DatagramSocket to 100ms --- .../netty/channel/socket/oio/OioDatagramChannel.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/org/jboss/netty/channel/socket/oio/OioDatagramChannel.java b/src/main/java/org/jboss/netty/channel/socket/oio/OioDatagramChannel.java index 5289b06e79..cf5aeb0930 100644 --- a/src/main/java/org/jboss/netty/channel/socket/oio/OioDatagramChannel.java +++ b/src/main/java/org/jboss/netty/channel/socket/oio/OioDatagramChannel.java @@ -30,6 +30,7 @@ import java.net.InetSocketAddress; import java.net.MulticastSocket; import java.net.NetworkInterface; import java.net.SocketAddress; +import java.net.SocketException; import org.jboss.netty.channel.AbstractChannel; import org.jboss.netty.channel.ChannelException; @@ -68,6 +69,13 @@ final class OioDatagramChannel extends AbstractChannel } catch (IOException e) { throw new ChannelException("Failed to open a datagram socket.", e); } + + try { + socket.setSoTimeout(10); + } catch (SocketException e) { + throw new ChannelException( + "Failed to configure the datagram socket timeout.", e); + } config = new DefaultDatagramChannelConfig(socket); fireChannelOpen(this);