diff options
| author | Andy Pan <panjf2000@gmail.com> | 2023-08-09 21:13:50 +0800 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-08-10 14:38:22 +0000 |
| commit | 8ecdc4e593676ff56f8ac273a01f27f0862992a9 (patch) | |
| tree | 321e75d73e2000ffa4477496feeb2cfe14161220 /src/syscall | |
| parent | d13f7aa0ae1ad6ec86d66953cc84851977580c8c (diff) | |
| download | go-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.go | 3 |
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 { |
