From 552c4e81921bc15a070c372bf28ce91e7122c706 Mon Sep 17 00:00:00 2001 From: Andy Pan Date: Wed, 9 Aug 2023 21:43:21 +0800 Subject: [PATCH] unix: avoid setting O_NONBLOCK needlessly by checking flags beforehand Change-Id: I227118221df469a677f3ff140ca7b94acb7f9571 Reviewed-on: https://go-review.googlesource.com/c/sys/+/517576 TryBot-Result: Gopher Robot Reviewed-by: Michael Knyszek Run-TryBot: Andy Pan Reviewed-by: Ian Lance Taylor Reviewed-by: Tobias Klauser Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor --- unix/syscall_unix.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/unix/syscall_unix.go b/unix/syscall_unix.go index 8bb30e7ce..f6eda2705 100644 --- a/unix/syscall_unix.go +++ b/unix/syscall_unix.go @@ -549,6 +549,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 {