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

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

Issue 7188044: code review 7188044: net: Use accept4() on Linux. (Closed)
Left Patch Set: diff -r 2da48f86d386 https://code.google.com/p/go Created 11 years, 2 months ago
Right Patch Set: diff -r 2da48f86d386 https://code.google.com/p/go Created 11 years, 2 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
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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 if ulsa, err = listenerSockaddr(s, f, ulsa, toAddr); err != nil { 43 if ulsa, err = listenerSockaddr(s, f, ulsa, toAddr); err != nil {
44 closesocket(s) 44 closesocket(s)
45 return nil, err 45 return nil, err
46 } 46 }
47 if err = syscall.Bind(s, ulsa); err != nil { 47 if err = syscall.Bind(s, ulsa); err != nil {
48 closesocket(s) 48 closesocket(s)
49 return nil, err 49 return nil, err
50 } 50 }
51 } 51 }
52 52
53 » if fd, err = newFD(s, f, t, net); err != nil { 53 » if err = syscall.SetNonblock(s, true); err != nil {
54 closesocket(s) 54 closesocket(s)
55 return nil, err 55 return nil, err
56 } 56 }
57 fd = newFD(s, f, t, net)
57 58
58 if ursa != nil { 59 if ursa != nil {
59 fd.wdeadline.setTime(deadline) 60 fd.wdeadline.setTime(deadline)
60 if err = fd.connect(ursa); err != nil { 61 if err = fd.connect(ursa); err != nil {
61 closesocket(s) 62 closesocket(s)
62 return nil, err 63 return nil, err
63 } 64 }
64 fd.isConnected = true 65 fd.isConnected = true
65 fd.wdeadline.set(0) 66 fd.wdeadline.set(0)
66 } 67 }
67 68
68 lsa, _ := syscall.Getsockname(s) 69 lsa, _ := syscall.Getsockname(s)
69 laddr := toAddr(lsa) 70 laddr := toAddr(lsa)
70 rsa, _ := syscall.Getpeername(s) 71 rsa, _ := syscall.Getpeername(s)
71 raddr := toAddr(rsa) 72 raddr := toAddr(rsa)
72 fd.setAddr(laddr, raddr) 73 fd.setAddr(laddr, raddr)
73 return fd, nil 74 return fd, nil
74 } 75 }
LEFTRIGHT

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