mirror of
https://github.com/rwinkhart/sys.git
synced 2026-10-29 04:38:18 -04:00
unix: add Select syscall on AIX
As select is a keyword of Go, C.select cannot be used on gccgo files. Therefore, select call is transformed into c_select. Change-Id: Ic68a7ffa03dc5a5d70514876b5f6afb565691a4a Reviewed-on: https://go-review.googlesource.com/c/sys/+/172739 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
1 parent
d20716ef9d
commit
f0ce4c0180
8 files changed
+90
-4
No files matched your search
@@ -214,6 +214,11 @@ func main() {
|
||||
}
|
||||
|
||||
if funct != "fcntl" && funct != "FcntlInt" && funct != "readlen" && funct != "writelen" {
|
||||
if sysname == "select" {
|
||||
// select is a keyword of Go. Its name is
|
||||
// changed to c_select.
|
||||
cExtern += "#define c_select select\n"
|
||||
}
|
||||
// Imports of system calls from libc
|
||||
cExtern += fmt.Sprintf("%s %s", cRettype, sysname)
|
||||
cIn := strings.Join(cIn, ", ")
|
||||
@@ -328,7 +333,13 @@ func main() {
|
||||
} else {
|
||||
call += ""
|
||||
}
|
||||
call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
|
||||
if sysname == "select" {
|
||||
// select is a keyword of Go. Its name is
|
||||
// changed to c_select.
|
||||
call += fmt.Sprintf("C.c_%s(%s)", sysname, arglist)
|
||||
} else {
|
||||
call += fmt.Sprintf("C.%s(%s)", sysname, arglist)
|
||||
}
|
||||
|
||||
// Assign return values.
|
||||
body := ""
|
||||
|
||||
Reference in new issue
Block a user