]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgo/go/runtime/nbpipe_pipe2.go
libgo: update to Go1.14beta1
[thirdparty/gcc.git] / libgo / go / runtime / nbpipe_pipe2.go
1 // Copyright 2019 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 // +build freebsd linux netbsd openbsd solaris
6
7 package runtime
8
9 func nonblockingPipe() (r, w int32, errno int32) {
10 r, w, errno = pipe2(_O_NONBLOCK | _O_CLOEXEC)
11 if errno == -_ENOSYS {
12 r, w, errno = pipe()
13 if errno != 0 {
14 return -1, -1, errno
15 }
16 closeonexec(r)
17 setNonblock(r)
18 closeonexec(w)
19 setNonblock(w)
20 }
21 return r, w, errno
22 }