diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2015-07-13 18:55:15 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2015-07-13 18:55:15 +0000 |
commit | 51cef06e02c9dce897921c208cc6951e85a93398 (patch) | |
tree | 5b9b2a3cd5fb4ea0ea16eec9cfc9a66a9f1cbbee /libgo/go | |
parent | c5d9ec56700313088f24d486fa1b08849cc52bac (diff) | |
download | gcc-51cef06e02c9dce897921c208cc6951e85a93398.tar.gz |
syscall: remove calls to Entersyscall & Exitsyscall in Getdents
The syscall for Getdents in syscall/libcall_linux.go
called Entersyscall and Exitsyscall, causing the
runtime_sched counts for goroutines to be incorrect.
Inconsistent counts caused checkdead in runtime/proc.c
to panic.
Fixes golang/go#11406
Reviewed-on: https://go-review.googlesource.com/11761
From-SVN: r225745
Diffstat (limited to 'libgo/go')
-rw-r--r-- | libgo/go/syscall/libcall_linux.go | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/libgo/go/syscall/libcall_linux.go b/libgo/go/syscall/libcall_linux.go index d5bedd06aac..93137fc7fb7 100644 --- a/libgo/go/syscall/libcall_linux.go +++ b/libgo/go/syscall/libcall_linux.go @@ -223,7 +223,6 @@ func Getdents(fd int, buf []byte) (n int, err error) { } else { p = (*byte)(unsafe.Pointer(&_zero)) } - Entersyscall() s := SYS_GETDENTS64 if s == 0 { s = SYS_GETDENTS @@ -233,7 +232,6 @@ func Getdents(fd int, buf []byte) (n int, err error) { if n < 0 { err = errno } - Exitsyscall() return } |