diff options
| author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-18 20:39:52 +0000 |
|---|---|---|
| committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-18 20:39:52 +0000 |
| commit | c4c91330130980633ee1029ef7b43b86a4ce4182 (patch) | |
| tree | 9fb36c4c999c24d7d2265d354cd76a6aaacddc8d /libjava/java | |
| parent | 13585af5e9655ef45e712fd17c05fa1ca3c94bf2 (diff) | |
| download | ppe42-gcc-c4c91330130980633ee1029ef7b43b86a4ce4182.tar.gz ppe42-gcc-c4c91330130980633ee1029ef7b43b86a4ce4182.zip | |
* java/net/natPlainDatagramSocketImpl.cc (mcastGrp): Use new RFC
2533 socket options IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, falling
back to old RFC 2133 variants if missing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44130 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
| -rw-r--r-- | libjava/java/net/natPlainDatagramSocketImpl.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc index a90d2a8e8e0..4f6b3194c46 100644 --- a/libjava/java/net/natPlainDatagramSocketImpl.cc +++ b/libjava/java/net/natPlainDatagramSocketImpl.cc @@ -415,7 +415,16 @@ java::net::PlainDatagramSocketImpl::mcastGrp (java::net::InetAddress *inetaddr, else if (len == 16) { level = IPPROTO_IPV6; - opname = join ? IPV6_ADD_MEMBERSHIP : IPV6_DROP_MEMBERSHIP; + + /* Prefer new RFC 2553 names. */ +#ifndef IPV6_JOIN_GROUP +#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP +#endif +#ifndef IPV6_LEAVE_GROUP +#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP +#endif + + opname = join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP; memcpy (&u.mreq6.ipv6mr_multiaddr, bytes, len); // FIXME: If a non-default interface is set, use it; see Stevens p. 501. // Maybe not, see note in last paragraph at bottom of Stevens p. 497. |

