mksysinfo, net: Always define syscall.SO_REUSEPORT.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Apr 2012 04:25:56 +0000 (04:25 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Apr 2012 04:25:56 +0000 (04:25 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186857 138bc75d-0d04-0410-961f-82ee72b054a4

libgo/go/net/sockopt_bsd.go
libgo/mksysinfo.sh

index fff65f3..af88814 100644 (file)
@@ -53,9 +53,11 @@ func setDefaultMulticastSockopts(s int) error {
        // This option is supported only in descendants of 4.4BSD,
        // to make an effective multicast application that requires
        // quick draw possible.
-       err = syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEPORT, 1)
-       if err != nil {
-               return os.NewSyscallError("setsockopt", err)
+       if syscall.SO_REUSEPORT != 0 {
+               err = syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEPORT, 1)
+               if err != nil {
+                       return os.NewSyscallError("setsockopt", err)
+               }
        }
        return nil
 }
index 4f51533..db61a73 100755 (executable)
@@ -264,7 +264,7 @@ grep '^const _SHUT_' gen-sysinfo.go |
   sed -e 's/^\(const \)_\(SHUT[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
 
 # The net package requires some const definitions.
-for m in IP_PKTINFO IPV6_V6ONLY IPPROTO_IPV6 IPV6_JOIN_GROUP IPV6_LEAVE_GROUP IPV6_TCLASS; do
+for m in IP_PKTINFO IPV6_V6ONLY IPPROTO_IPV6 IPV6_JOIN_GROUP IPV6_LEAVE_GROUP IPV6_TCLASS SO_REUSEPORT; do
   if ! grep "^const $m " ${OUT} >/dev/null 2>&1; then
     echo "const $m = 0" >> ${OUT}
   fi