LEFT | RIGHT |
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 // Socket options for Linux | 5 // Socket options for Linux |
6 | 6 |
7 package net | 7 package net |
8 | 8 |
9 import ( | 9 import ( |
10 "os" | 10 "os" |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 func setDeadlineImpl(fd *netFD, t time.Time, mode int) error { | 22 func setDeadlineImpl(fd *netFD, t time.Time, mode int) error { |
23 d := t.UnixNano() | 23 d := t.UnixNano() |
24 if t.IsZero() { | 24 if t.IsZero() { |
25 d = 0 | 25 d = 0 |
26 } | 26 } |
27 if err := fd.incref(false); err != nil { | 27 if err := fd.incref(false); err != nil { |
28 return err | 28 return err |
29 } | 29 } |
30 defer fd.decref() | 30 defer fd.decref() |
31 » runtime_setDeadlineFD(fd.pdesc, d, mode) | 31 » runtime_setDeadlineFD(fd.pollServer, d, mode) |
32 return nil | 32 return nil |
33 } | 33 } |
34 | 34 |
35 func setReadDeadline(fd *netFD, t time.Time) error { | 35 func setReadDeadline(fd *netFD, t time.Time) error { |
36 return setDeadlineImpl(fd, t, 'r') | 36 return setDeadlineImpl(fd, t, 'r') |
37 } | 37 } |
38 | 38 |
39 func setWriteDeadline(fd *netFD, t time.Time) error { | 39 func setWriteDeadline(fd *netFD, t time.Time) error { |
40 return setDeadlineImpl(fd, t, 'w') | 40 return setDeadlineImpl(fd, t, 'w') |
41 } | 41 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 75 |
76 func setDefaultMulticastSockopts(s int) error { | 76 func setDefaultMulticastSockopts(s int) error { |
77 // Allow multicast UDP and raw IP datagram sockets to listen | 77 // Allow multicast UDP and raw IP datagram sockets to listen |
78 // concurrently across multiple listeners. | 78 // concurrently across multiple listeners. |
79 err := syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR
, 1) | 79 err := syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR
, 1) |
80 if err != nil { | 80 if err != nil { |
81 return os.NewSyscallError("setsockopt", err) | 81 return os.NewSyscallError("setsockopt", err) |
82 } | 82 } |
83 return nil | 83 return nil |
84 } | 84 } |
LEFT | RIGHT |