diff --git a/src/pkg/net/multicast_test.go b/src/pkg/net/multicast_test.go index 0c9a0355e64..06d430e90b9 100644 --- a/src/pkg/net/multicast_test.go +++ b/src/pkg/net/multicast_test.go @@ -5,10 +5,14 @@ package net import ( + "runtime" "testing" ) func TestMulticastJoinAndLeave(t *testing.T) { + if runtime.GOOS == "windows" { + return + } addr := &UDPAddr{ IP: IPv4zero, Port: 0, diff --git a/src/pkg/syscall/syscall_windows.go b/src/pkg/syscall/syscall_windows.go index 658e94c0f3c..e194feae30e 100644 --- a/src/pkg/syscall/syscall_windows.go +++ b/src/pkg/syscall/syscall_windows.go @@ -703,8 +703,19 @@ type Linger struct { Linger int32 } -func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) { return EWINDOWS } -func BindToDevice(fd int, device string) (errno int) { return EWINDOWS } +const ( + IP_ADD_MEMBERSHIP = iota + IP_DROP_MEMBERSHIP +) + +type IpMreq struct { + Multiaddr [4]byte /* in_addr */ + Interface [4]byte /* in_addr */ +} + +func SetsockoptLinger(fd, level, opt int, l *Linger) (errno int) { return EWINDOWS } +func SetsockoptIpMreq(fd, level, opt int, mreq *IpMreq) (errno int) { return EWINDOWS } +func BindToDevice(fd int, device string) (errno int) { return EWINDOWS } // TODO(brainman): fix all needed for os