Changeset: c6334146005c Author: Greg Lewis <gle...@eyesbeyond.com> Date: 2011-07-07 23:46 -0700 URL: http://hg.openjdk.java.net/bsd-port/bsd-port/jdk/rev/c6334146005c
. Try harder to make sure the flags returned from getFlags isn't negative, since a number of places in the code check for that and assume that it means an error occurred. On FreeBSD, in particular, the value of ifr_flags can be negative if multicast is enabled on the socket since the possible flags have expanded to fill more than a short. For FreeBSD, we fill the int return value with ifr_flagshigh in the high 16 bits and ifr_flags in the low 16 bits. For the other BSD, instead of blindly promoting ifr_flags to an int, which will preserve the sign, we place it into the lower 16 bits of the return value. Reported by: Alex Hayward <xelah-freebsd...@xelah.com> ! src/solaris/native/java/net/NetworkInterface.c