diff options
Diffstat (limited to 'libjava/java/net')
-rw-r--r-- | libjava/java/net/natPlainDatagramSocketImpl.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc index d94a2f3..aedd48b 100644 --- a/libjava/java/net/natPlainDatagramSocketImpl.cc +++ b/libjava/java/net/natPlainDatagramSocketImpl.cc @@ -194,7 +194,6 @@ void java::net::PlainDatagramSocketImpl::bind (jint lport, java::net::InetAddress *host) { - // FIXME: prob. need to do a setsockopt with SO_BROADCAST to allow multicast. union SockAddr u; struct sockaddr *ptr = (struct sockaddr *) &u.address; // FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4. @@ -233,6 +232,11 @@ java::net::PlainDatagramSocketImpl::bind (jint lport, localPort = ntohs (u.address.sin_port); else goto error; + /* Allow broadcast by default. */ + int broadcast = 1; + if (::setsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast, + sizeof (broadcast)) != 0) + goto error; return; } error: |