summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/src/IceInternal/UdpTransceiver.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java
index 3d8b9403496..cb7740290da 100644
--- a/java/src/IceInternal/UdpTransceiver.java
+++ b/java/src/IceInternal/UdpTransceiver.java
@@ -570,18 +570,20 @@ final class UdpTransceiver implements Transceiver
if(group != null)
{
Class<?>[] types;
+ Object[] args;
try
{
types = new Class<?>[]{ java.net.SocketAddress.class, java.net.NetworkInterface.class };
- m = socketImpl.getClass().getDeclaredMethod("joinGroup", types);
+ m = socketImpl.getClass().getDeclaredMethod("joinGroup", types);
+ args = new Object[]{ group, intf };
}
catch(java.lang.NoSuchMethodException ex) // OpenJDK
{
types = new Class<?>[]{ java.net.InetAddress.class, java.net.NetworkInterface.class };
m = socketImpl.getClass().getDeclaredMethod("join", types);
+ args = new Object[]{ group.getAddress(), intf };
}
m.setAccessible(true);
- Object[] args = new Object[]{ group.getAddress(), intf };
m.invoke(socketImpl, args);
}
else if(intf != null)