annotate libgo/go/internal/poll/fcntl_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 2019 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 poll
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9 import (
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 "syscall"
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11 )
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 // Use a helper function to call fcntl. This is defined in C in
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 // libgo/runtime.
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 //extern __go_fcntl_uintptr
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 func libc_fcntl(uintptr, uintptr, uintptr) (uintptr, uintptr)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 func fcntl(fd int, cmd int, arg int) (int, error) {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 syscall.Entersyscall()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 r, e := libc_fcntl(uintptr(fd), uintptr(cmd), uintptr(arg))
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 syscall.Exitsyscall()
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 if e != 0 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 return int(r), syscall.Errno(e)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25 return int(r), nil
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26 }