Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(4)

Delta Between Two Patch Sets: src/pkg/net/sockoptip_bsd.go

Issue 12418043: code review 12418043: net: add special netFD mutex (Closed)
Left Patch Set: diff -r 50c9f3544eed https://go.googlecode.com/hg/ Created 11 years, 7 months ago
Right Patch Set: diff -r 5a51d54e34bb https://dvyukov%40google.com@code.google.com/p/go/ Created 11 years, 7 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/net/sockopt_posix.go ('k') | src/pkg/net/sockoptip_linux.go » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 // Copyright 2011 The Go Authors. All rights reserved. 1 // Copyright 2011 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 // +build darwin freebsd netbsd openbsd 5 // +build darwin freebsd netbsd openbsd
6 6
7 package net 7 package net
8 8
9 import ( 9 import (
10 "os" 10 "os"
11 "syscall" 11 "syscall"
12 ) 12 )
13 13
14 func setIPv4MulticastInterface(fd *netFD, ifi *Interface) error { 14 func setIPv4MulticastInterface(fd *netFD, ifi *Interface) error {
15 ip, err := interfaceToIPv4Addr(ifi) 15 ip, err := interfaceToIPv4Addr(ifi)
16 if err != nil { 16 if err != nil {
17 return os.NewSyscallError("setsockopt", err) 17 return os.NewSyscallError("setsockopt", err)
18 } 18 }
19 var a [4]byte 19 var a [4]byte
20 copy(a[:], ip.To4()) 20 copy(a[:], ip.To4())
21 » if err := fd.incref(false); err != nil { 21 » if err := fd.incref(); err != nil {
22 return err 22 return err
23 } 23 }
24 defer fd.decref() 24 defer fd.decref()
25 return os.NewSyscallError("setsockopt", syscall.SetsockoptInet4Addr(fd.s ysfd, syscall.IPPROTO_IP, syscall.IP_MULTICAST_IF, a)) 25 return os.NewSyscallError("setsockopt", syscall.SetsockoptInet4Addr(fd.s ysfd, syscall.IPPROTO_IP, syscall.IP_MULTICAST_IF, a))
26 } 26 }
27 27
28 func setIPv4MulticastLoopback(fd *netFD, v bool) error { 28 func setIPv4MulticastLoopback(fd *netFD, v bool) error {
29 » if err := fd.incref(false); err != nil { 29 » if err := fd.incref(); err != nil {
30 return err 30 return err
31 } 31 }
32 defer fd.decref() 32 defer fd.decref()
33 return os.NewSyscallError("setsockopt", syscall.SetsockoptByte(fd.sysfd, syscall.IPPROTO_IP, syscall.IP_MULTICAST_LOOP, byte(boolint(v)))) 33 return os.NewSyscallError("setsockopt", syscall.SetsockoptByte(fd.sysfd, syscall.IPPROTO_IP, syscall.IP_MULTICAST_LOOP, byte(boolint(v))))
34 } 34 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b