| // Copyright 2009 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| // This file provides the Accept function used on all systems | |
| // other than arm. See syscall_linux_accept.go for why. | |
| //go:build linux && !arm | |
| package syscall | |
| func Accept(fd int) (nfd int, sa Sockaddr, err error) { | |
| var rsa RawSockaddrAny | |
| var len _Socklen = SizeofSockaddrAny | |
| nfd, err = accept4(fd, &rsa, &len, 0) | |
| if err != nil { | |
| return | |
| } | |
| sa, err = anyToSockaddr(&rsa) | |
| if err != nil { | |
| Close(nfd) | |
| nfd = 0 | |
| } | |
| return | |
| } |