summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/Network.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/Network.java')
-rw-r--r--java/src/IceInternal/Network.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java
index 1ff51473233..d971a4117d0 100644
--- a/java/src/IceInternal/Network.java
+++ b/java/src/IceInternal/Network.java
@@ -63,7 +63,10 @@ public final class Network
{
try
{
- return java.nio.channels.DatagramChannel.open();
+ java.nio.channels.DatagramChannel fd =
+ java.nio.channels.DatagramChannel.open();
+ fd.configureBlocking(false);
+ return fd;
}
catch (java.io.IOException ex)
{
@@ -310,8 +313,12 @@ public final class Network
java.net.Socket socket = result.socket();
socket.setTcpNoDelay(true);
socket.setKeepAlive(true);
+ //
+ // Need to set non-blocking in order to use Selector
+ //
+ result.configureBlocking(false);
}
- catch (java.net.SocketException ex)
+ catch (java.io.IOException ex)
{
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);