aboutsummaryrefslogtreecommitdiff
path: root/src/syscall
diff options
context:
space:
mode:
authorAndy Pan <panjf2000@gmail.com>2023-08-09 21:13:50 +0800
committerGopher Robot <gobot@golang.org>2023-08-10 14:38:22 +0000
commit8ecdc4e593676ff56f8ac273a01f27f0862992a9 (patch)
tree321e75d73e2000ffa4477496feeb2cfe14161220 /src/syscall
parentd13f7aa0ae1ad6ec86d66953cc84851977580c8c (diff)
downloadgo-8ecdc4e593676ff56f8ac273a01f27f0862992a9.tar.xz
syscall: avoid setting O_NONBLOCK needlessly by checking flags beforehand
Change-Id: I097a2941f1d1a7fd98ccf1534940d03f47ac3229 Reviewed-on: https://go-review.googlesource.com/c/go/+/517675 Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Run-TryBot: Andy Pan <panjf2000@gmail.com>
Diffstat (limited to 'src/syscall')
-rw-r--r--src/syscall/exec_unix.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/syscall/exec_unix.go b/src/syscall/exec_unix.go
index 206c0ab32b..c6a6caaa70 100644
--- a/src/syscall/exec_unix.go
+++ b/src/syscall/exec_unix.go
@@ -107,6 +107,9 @@ func SetNonblock(fd int, nonblocking bool) (err error) {
if err != nil {
return err
}
+ if (flag&O_NONBLOCK != 0) == nonblocking {
+ return nil
+ }
if nonblocking {
flag |= O_NONBLOCK
} else {