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

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

Issue 6460108: net: epoll dispatcher 2
Left Patch Set: diff -r bbc0024af4a4 https://dvyukov%40google.com@code.google.com/p/go/ Created 11 years, 4 months ago
Right Patch Set: diff -r f2755950769b https://dvyukov%40google.com@code.google.com/p/go/ Created 11 years, 4 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/newpollserver_unix.go ('k') | src/pkg/net/sockopt_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 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 // +build darwin freebsd linux netbsd openbsd windows 5 // +build darwin freebsd linux netbsd openbsd windows
6 6
7 // Sockets 7 // Sockets
8 8
9 package net 9 package net
10 10
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 } 51 }
52 } 52 }
53 53
54 if fd, err = newFD(s, f, t, net); err != nil { 54 if fd, err = newFD(s, f, t, net); err != nil {
55 closesocket(s) 55 closesocket(s)
56 return nil, err 56 return nil, err
57 } 57 }
58 58
59 if ursa != nil { 59 if ursa != nil {
60 if !deadline.IsZero() { 60 if !deadline.IsZero() {
61 » » » fd.wdeadline = deadline.UnixNano() 61 » » » setWriteDeadline(fd, deadline)
62 } 62 }
63 if err = fd.connect(ursa); err != nil { 63 if err = fd.connect(ursa); err != nil {
64 closesocket(s) 64 closesocket(s)
65 fd.Close() 65 fd.Close()
66 return nil, err 66 return nil, err
67 } 67 }
68 fd.isConnected = true 68 fd.isConnected = true
69 » » fd.wdeadline = 0 69 » » setWriteDeadline(fd, time.Time{})
70 } 70 }
71 71
72 lsa, _ := syscall.Getsockname(s) 72 lsa, _ := syscall.Getsockname(s)
73 laddr := toAddr(lsa) 73 laddr := toAddr(lsa)
74 rsa, _ := syscall.Getpeername(s) 74 rsa, _ := syscall.Getpeername(s)
75 raddr := toAddr(rsa) 75 raddr := toAddr(rsa)
76 fd.setAddr(laddr, raddr) 76 fd.setAddr(laddr, raddr)
77 return fd, nil 77 return fd, nil
78 } 78 }
79 79
80 type writerOnly struct { 80 type writerOnly struct {
81 io.Writer 81 io.Writer
82 } 82 }
83 83
84 // Fallback implementation of io.ReaderFrom's ReadFrom, when sendfile isn't 84 // Fallback implementation of io.ReaderFrom's ReadFrom, when sendfile isn't
85 // applicable. 85 // applicable.
86 func genericReadFrom(w io.Writer, r io.Reader) (n int64, err error) { 86 func genericReadFrom(w io.Writer, r io.Reader) (n int64, err error) {
87 // Use wrapper to hide existing r.ReadFrom from io.Copy. 87 // Use wrapper to hide existing r.ReadFrom from io.Copy.
88 return io.Copy(writerOnly{w}, r) 88 return io.Copy(writerOnly{w}, r)
89 } 89 }
LEFTRIGHT

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