natPlainSocketImplPosix.cc (bind): Clear SockAddr before using - needed for OS X...
authorMohan Embar <gnustuff@thisiscool.com>
Sat, 22 Jul 2006 01:42:25 +0000 (01:42 +0000)
committerMohan Embar <membar@gcc.gnu.org>
Sat, 22 Jul 2006 01:42:25 +0000 (01:42 +0000)
2006-07-21  Mohan Embar  <gnustuff@thisiscool.com>

* gnu/java/net/natPlainSocketImplPosix.cc (bind): Clear
SockAddr before using - needed for OS X/PPC.

From-SVN: r115669

libjava/ChangeLog
libjava/gnu/java/net/natPlainSocketImplPosix.cc

index ec00d96..a1a208d 100644 (file)
@@ -1,3 +1,8 @@
+2006-07-21  Mohan Embar  <gnustuff@thisiscool.com>
+
+       * gnu/java/net/natPlainSocketImplPosix.cc (bind): Clear
+       SockAddr before using - needed for OS X/PPC.
+
 2006-07-21  Keith Seitz  <keiths@redhat.com>
 
        * boehm.cc (_Jv_SuspendThread): Don't ifdef the function declaration,
index 28707db..2dfc38c 100644 (file)
@@ -89,6 +89,11 @@ gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *host, jint lpor
   int len = haddress->length;
   int i = 1;
 
+  // The following is needed for OS X/PPC, otherwise bind() fails with an
+  // error. I found the issue and following fix on some mailing list, but
+  // no explanation was given as to why this solved the problem.
+  memset (&u, 0, sizeof (u));
+
   if (len == 4)
     {
       u.address.sin_family = AF_INET;