go/src/os
Yuval Pavel Zholkover b15c399a36 os: only add file descriptors which are set to non-blocking mode to the netpoller
Either ones where kind == kindNonBlock or those we've successfully called syscall.SetNonblock() on.
Restore blocking behavior if we detect an error registering with the netpoller and our flow was
successful in setting the inital syscall.SetNonblock().

Update #54100

Change-Id: I08934e4107c7fb36c15a7ca23ac880490b4df235
Reviewed-on: https://go-review.googlesource.com/c/go/+/420334
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Goutnik <dgoutnik@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Yuval Pavel Zholkover <paulzhol@gmail.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
2022-08-18 03:12:27 +00:00
..
exec os/exec: add GODEBUG setting to opt out of ErrDot changes 2022-07-28 19:12:40 +00:00
signal os/signal: scale back the solaris-amd64-oraclerel settle time 2022-04-30 02:35:50 +00:00
testdata
user all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
dir.go
dir_darwin.go
dir_plan9.go
dir_unix.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
dir_windows.go
dirent_aix.go
dirent_dragonfly.go
dirent_freebsd.go
dirent_js.go
dirent_linux.go
dirent_netbsd.go
dirent_openbsd.go
dirent_solaris.go
endian_big.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
endian_little.go go, math, os, reflect: support standard library for loong64 2022-05-20 15:12:52 +00:00
env.go
env_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
env_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
error.go os: update some docs to reference fs.ErrFoo instead of os.ErrFoo 2021-05-03 22:01:04 +00:00
error_errno.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
error_plan9.go
error_posix.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
error_test.go os: restore testErrNotExist's working directory on os.Chdir success 2021-04-12 22:19:11 +00:00
error_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
error_windows_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
example_test.go os: add examples for Mkdir and MkdirAll 2022-02-08 23:38:05 +00:00
exec.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
exec_plan9.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
exec_posix.go Revert "os: add handling of os.Interrupt for windows" 2022-04-04 15:12:26 +00:00
exec_unix.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
exec_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
exec_windows.go Revert "os: add handling of os.Interrupt for windows" 2022-04-04 15:12:26 +00:00
executable.go
executable_darwin.go
executable_dragonfly.go
executable_freebsd.go
executable_path.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
executable_plan9.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
executable_procfs.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
executable_solaris.go
executable_sysctl.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
executable_test.go os: skip TestExecutableDeleted on plan9 2021-05-04 18:47:19 +00:00
executable_windows.go
export_linux_test.go
export_test.go
export_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
export_windows_test.go
fifo_test.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
file.go os: document that Chdir affects fs.FS returned by DirFS with a relative path 2022-06-07 23:09:21 +00:00
file_plan9.go all: replace `` and '' with “ (U+201C) and ” (U+201D) in doc comments 2022-04-05 17:52:29 +00:00
file_posix.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
file_unix.go os: only add file descriptors which are set to non-blocking mode to the netpoller 2022-08-18 03:12:27 +00:00
file_windows.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
getwd.go
os_test.go os: look up hostname from PATH in test 2022-05-18 15:19:51 +00:00
os_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
os_windows_test.go os: run TestStatSymlinkLoop on all platforms 2022-04-03 07:17:45 +00:00
path.go
path_plan9.go
path_test.go os: enable TestMkdirAllWithSymlink on darwin/arm64 2022-01-02 14:27:32 +00:00
path_unix.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
path_windows.go os: fix a typo in path_windows.go 2022-06-30 21:52:06 +00:00
path_windows_test.go os: replace os.MkdirTemp with T.TempDir 2021-04-09 09:01:07 +00:00
pipe2_unix.go os, internal/syscall/unix: consolidate Pipe implementations 2022-03-08 21:16:44 +00:00
pipe_test.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
pipe_unix.go os, internal/syscall/unix: consolidate Pipe implementations 2022-03-08 21:16:44 +00:00
proc.go
rawconn.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
rawconn_test.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
read_test.go
readfrom_linux.go
readfrom_linux_test.go
readfrom_stub.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
removeall_at.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
removeall_noat.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
removeall_test.go os: replace os.MkdirTemp with T.TempDir 2021-04-09 09:01:07 +00:00
rlimit.go os: raise open file rlimit at startup 2022-03-17 03:04:30 +00:00
rlimit_darwin.go os: raise open file rlimit at startup 2022-03-17 03:04:30 +00:00
rlimit_stub.go os: raise open file rlimit at startup 2022-03-17 03:04:30 +00:00
rlimit_test.go os: use a lower file count for TestOpenFileLimit on openbsd 2022-04-23 14:26:25 +00:00
stat.go
stat_aix.go
stat_darwin.go os: use syscall.Timespec.Unix 2022-03-28 04:41:26 +00:00
stat_dragonfly.go os: use syscall.Timespec.Unix 2022-03-28 04:41:26 +00:00
stat_freebsd.go os: use syscall.Timespec.Unix 2022-03-28 04:41:26 +00:00
stat_js.go os: use syscall.Timespec.Unix 2022-03-28 04:41:26 +00:00
stat_linux.go os: use syscall.Timespec.Unix 2022-03-28 04:41:26 +00:00
stat_netbsd.go os: use syscall.Timespec.Unix 2022-03-28 04:41:26 +00:00
stat_openbsd.go os: use syscall.Timespec.Unix 2022-03-28 04:41:26 +00:00
stat_plan9.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
stat_solaris.go os: mark Solaris nam/door/port files as irregular 2022-04-12 01:41:47 +00:00
stat_test.go os: replace os.MkdirTemp with T.TempDir 2021-04-09 09:01:07 +00:00
stat_unix.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
stat_windows.go
sticky_bsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sticky_notbsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
str.go
sys.go
sys_aix.go
sys_bsd.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sys_js.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
sys_linux.go
sys_plan9.go
sys_solaris.go
sys_unix.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
sys_windows.go
tempfile.go os: don't repeat dir argument in CreateTemp error 2022-02-07 07:14:28 +00:00
tempfile_test.go all: fix spelling 2022-05-18 00:47:29 +00:00
timeout_test.go os: simplify deadline fluctuation tests 2022-06-30 19:37:21 +00:00
types.go
types_plan9.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
types_unix.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
types_windows.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
wait_unimp.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
wait_wait6.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
wait_waitid.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00