annotate libgo/go/internal/syscall/unix/nonblocking_libc.go @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 // Copyright 2018 The Go Authors. All rights reserved.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 // Use of this source code is governed by a BSD-style
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 // license that can be found in the LICENSE file.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5 // +build aix darwin solaris
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 package unix
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 import "syscall"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 //extern __go_fcntl_uintptr
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 func fcntl(uintptr, uintptr, uintptr) (uintptr, uintptr)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 func IsNonblock(fd int) (nonblocking bool, err error) {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 flag, e1 := fcntl(uintptr(fd), syscall.F_GETFL, 0)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 if e1 != 0 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17 return false, syscall.Errno(e1)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 return flag&syscall.O_NONBLOCK != 0, nil
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 }