mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-03 15:47:35 -04:00
unix: fix Pause on linux-arm64
Pause is a legacy syscall not available on linux-arm64. Use ppoll with all args as 0 to emulate - this is the way musl libc does Pause when the pause syscall isn't available. With the changes in syscall_linux* and regenerating zsyscall_linux*, this calling Pause on linux-arm64 works and returns EINTR as expected. Change-Id: I88236290313f18c742d826e759e86ff260a8b383 Reviewed-on: https://go-review.googlesource.com/22014 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
324e137580
commit
f64b50fbea
+10
-10
@@ -729,16 +729,6 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Pause() (err error) {
|
||||
_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func PivotRoot(newroot string, putold string) (err error) {
|
||||
var _p0 *byte
|
||||
_p0, err = BytePtrFromString(newroot)
|
||||
@@ -1649,6 +1639,16 @@ func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) {
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Pause() (err error) {
|
||||
_, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Pread(fd int, p []byte, offset int64) (n int, err error) {
|
||||
var _p0 unsafe.Pointer
|
||||
if len(p) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user