From: Andy Pan Date: Wed, 9 Aug 2023 13:13:50 +0000 (+0800) Subject: syscall: avoid setting O_NONBLOCK needlessly by checking flags beforehand X-Git-Tag: go1.22rc1~1346 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8ecdc4e593676ff56f8ac273a01f27f0862992a9;p=gostls13.git 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 Reviewed-by: Michael Knyszek TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor Run-TryBot: Andy Pan --- 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 {