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

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

Issue 12418043: code review 12418043: net: add special netFD mutex (Closed)
Left Patch Set: diff -r 2585605c42c0 https://dvyukov%40google.com@code.google.com/p/go/ 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/sockoptip_windows.go ('k') | src/pkg/net/tcpsockopt_openbsd.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 2009 The Go Authors. All rights reserved. 1 // Copyright 2009 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 // TCP socket options for darwin 5 // TCP socket options for darwin
6 6
7 package net 7 package net
8 8
9 import ( 9 import (
10 "os" 10 "os"
11 "syscall" 11 "syscall"
12 "time" 12 "time"
13 ) 13 )
14 14
15 // Set keep alive period. 15 // Set keep alive period.
16 func setKeepAlivePeriod(fd *netFD, d time.Duration) error { 16 func setKeepAlivePeriod(fd *netFD, d time.Duration) error {
17 » if err := fd.incref(false); err != nil { 17 » if err := fd.incref(); err != nil {
18 return err 18 return err
19 } 19 }
20 defer fd.decref() 20 defer fd.decref()
21 21
22 // The kernel expects seconds so round to next highest second. 22 // The kernel expects seconds so round to next highest second.
23 d += (time.Second - time.Nanosecond) 23 d += (time.Second - time.Nanosecond)
24 secs := int(d.Seconds()) 24 secs := int(d.Seconds())
25 25
26 return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, syscall.IPPROTO_TCP, syscall.TCP_KEEPALIVE, secs)) 26 return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, syscall.IPPROTO_TCP, syscall.TCP_KEEPALIVE, secs))
27 } 27 }
LEFTRIGHT

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