1
0
mirror of https://github.com/golang/go synced 2024-11-06 00:36:14 -07:00
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_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
dir.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
endian_little.go go, math, os, reflect: support standard library for loong64 2022-05-20 15:12:52 +00:00
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
env.go
error_errno.go
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
error_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
error_windows_test.go
error.go
example_test.go os: add examples for Mkdir and MkdirAll 2022-02-08 23:38:05 +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_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
exec_unix.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
exec.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
executable_darwin.go
executable_dragonfly.go
executable_freebsd.go
executable_path.go
executable_plan9.go
executable_procfs.go
executable_solaris.go
executable_sysctl.go
executable_test.go
executable_windows.go
executable.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
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
file.go os: document that Chdir affects fs.FS returned by DirFS with a relative path 2022-06-07 23:09:21 +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_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_test.go
path_windows.go os: fix a typo in path_windows.go 2022-06-30 21:52:06 +00:00
path.go
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_test.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
rawconn.go
read_test.go
readfrom_linux_test.go
readfrom_linux.go
readfrom_stub.go
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
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
rlimit.go os: raise open file rlimit at startup 2022-03-17 03:04:30 +00:00
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
stat_unix.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
stat_windows.go
stat.go
sticky_bsd.go
sticky_notbsd.go
str.go
sys_aix.go
sys_bsd.go
sys_js.go
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
sys.go
tempfile_test.go all: fix spelling 2022-05-18 00:47:29 +00:00
tempfile.go os: don't repeat dir argument in CreateTemp error 2022-02-07 07:14:28 +00:00
timeout_test.go os: simplify deadline fluctuation tests 2022-06-30 19:37:21 +00:00
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
types.go
wait_unimp.go
wait_wait6.go
wait_waitid.go