runtime: report correct fcntl syscall error in checkCloseonexec

runtime.fcntl returns the error value as a negative value, so it needs
to be inverted before being converted to syscall.Errno.

Change-Id: I43cd0b035150424ac59e623b17a9396c7d62c186
Reviewed-on: https://go-review.googlesource.com/c/go/+/495675
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
Tobias Klauser 2023-05-17 09:38:20 +02:00 committed by Gopher Robot
parent 08e39a1961
commit 9ed2b115fb
1 changed files with 1 additions and 1 deletions

View File

@ -67,7 +67,7 @@ func checkCloseonexec(t *testing.T, fd int32, name string) {
t.Helper()
flags := runtime.Fcntl(fd, syscall.F_GETFD, 0)
if flags < 0 {
t.Errorf("fcntl(%s, F_GETFD) failed: %v", name, syscall.Errno(flags))
t.Errorf("fcntl(%s, F_GETFD) failed: %v", name, syscall.Errno(-flags))
} else if flags&syscall.FD_CLOEXEC == 0 {
t.Errorf("FD_CLOEXEC not set in %s flags %#x", name, flags)
}