go/src/os
qmuntal f0894a00f4 os: remove 5ms sleep on Windows in (*Process).Wait
The 5ms sleep in (*Process).Wait was added to mitigate errors while
removing executable files using os.RemoveAll.

Windows 10 1903 implements POSIX semantics for DeleteFile, making the
implementation of os.RemoveAll on Windows much more robust. Older
Windows 10 versions also made internal improvements to avoid errors
when removing files, making it less likely that the 5ms sleep is
necessary.

Windows 10 is the oldest version that Go supports (see #57004), so it
makes sense to unconditionally remove the 5ms sleep now. We have all
the Go 1.22 development cycle to see if this causes any regression.

Fixes #25965

Change-Id: Ie0bbe6dc3e8389fd51a32484d5d20cf59b019451
Reviewed-on: https://go-review.googlesource.com/c/go/+/509335
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2023-07-26 15:13:24 +00:00
..
exec os/exec: avoid calling LookPath in cmd.Start for resolved paths 2023-07-26 11:13:35 +00:00
signal os: add wasip1 support 2023-04-07 23:34:21 +00:00
testdata
user os/user: skip tests that invoke Current if it returns an expected error 2023-04-21 15:59:43 +00:00
dir.go
dir_darwin.go os: do not skip directory entries with zero inodes on wasip1 2023-07-06 23:23:41 +00:00
dir_plan9.go all: add String for fs.{FileInfo,DirEntry} implementations 2023-05-04 16:27:35 +00:00
dir_unix.go os: do not skip directory entries with zero inodes on wasip1 2023-07-06 23:23:41 +00:00
dir_windows.go os: support reading empty root directories on Windows 2023-07-07 22:02:26 +00:00
dirent_aix.go
dirent_dragonfly.go
dirent_freebsd.go
dirent_js.go
dirent_linux.go
dirent_netbsd.go
dirent_openbsd.go
dirent_solaris.go
dirent_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
endian_big.go
endian_little.go go, math, os, reflect: support standard library for loong64 2022-05-20 15:12:52 +00:00
env.go all: add missing periods in comments 2022-11-18 17:59:44 +00:00
env_test.go os, syscall: update unreachable link about =C: envs 2023-07-04 15:31: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 all: remove duplicate word and fix comment 2023-07-13 13:31:04 +00:00
error_errno.go
error_plan9.go
error_posix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
error_test.go os: remove unnecessary return after t.Fatal 2023-05-19 00:41:52 +00:00
error_unix_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
error_windows_test.go
example_test.go os: remove executable bits from os.OpenFile example 2023-07-20 17:30:18 +00:00
exec.go os/exec: document a method to check if a process is alive 2023-06-17 19:02:45 +00:00
exec_plan9.go
exec_posix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
exec_unix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
exec_unix_test.go os/exec: document a method to check if a process is alive 2023-06-17 19:02:45 +00:00
exec_windows.go os: remove 5ms sleep on Windows in (*Process).Wait 2023-07-26 15:13:24 +00:00
exec_windows_test.go os: remove 5ms sleep on Windows in (*Process).Wait 2023-07-26 15:13:24 +00:00
executable.go
executable_darwin.go
executable_dragonfly.go
executable_freebsd.go
executable_path.go
executable_plan9.go
executable_procfs.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
executable_solaris.go
executable_sysctl.go
executable_test.go os: skip TestExecutableDeleted earlier when 'go build' is not supported 2023-03-10 21:27:06 +00:00
executable_wasm.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
executable_windows.go
export_linux_test.go os: support zero-copy from TCP/Unix socket to file 2023-02-27 00:12:08 +00:00
export_test.go os: ensure File.ReadFrom returns ErrClosed instead of the internal poll.ErrFileClosing 2023-02-27 06:21:27 +00:00
export_unix_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
export_windows_test.go
fifo_test.go os: if descriptor is non-blocking, retain that in Fd method 2023-05-17 21:12:04 +00:00
file.go os: ReadFile: don't check for re-allocation in the first iteration 2023-07-25 00:48:06 +00:00
file_mutex_plan9.go os: use poll.fdMutex for Plan 9 files 2022-10-08 03:57:40 +00:00
file_open_unix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
file_open_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
file_plan9.go os: make Chtimes accept empty time values to skip file time modification 2023-05-11 18:19:17 +00:00
file_posix.go os, runtime: remove unused implementations of os.sigpipe 2023-05-12 21:33:26 +00:00
file_unix.go os: explicitly check for invalid FD in NewFile 2023-05-24 20:19:46 +00:00
file_wasip1.go net: implement wasip1 FileListener and FileConn 2023-05-25 00:12:41 +00:00
file_windows.go os, syscall: permit setting mtime to Unix 0 on Windows 2023-05-16 00:17:27 +00:00
getwd.go
os_test.go all: fix spelling errors 2023-06-14 00:03:57 +00:00
os_unix_test.go os: explicitly check for invalid FD in NewFile 2023-05-24 20:19:46 +00:00
os_windows_test.go os: mark the share created by TestNetworkSymbolicLink as temporary 2023-07-25 00:57:39 +00:00
path.go
path_plan9.go
path_test.go os: clean up tests 2023-01-19 20:45:37 +00:00
path_unix.go os: add wasip1 support 2023-04-07 23:34:21 +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: clean up tests 2023-01-19 20:45:37 +00:00
pipe2_unix.go os: explicitly check for invalid FD in NewFile 2023-05-24 20:19:46 +00:00
pipe_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
pipe_unix.go os: explicitly check for invalid FD in NewFile 2023-05-24 20:19:46 +00:00
pipe_wasm.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
proc.go runtime: add an exit hook facility 2022-09-26 21:49:14 +00:00
rawconn.go
rawconn_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
read_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
readfrom_linux.go os: don't check for TTY before calling splice 2023-03-16 19:34:54 +00:00
readfrom_linux_test.go os: remove mixed dot- and non-dot- imports in tests 2023-03-29 16:21:13 +00:00
readfrom_stub.go
removeall_at.go os: explicitly check for invalid FD in NewFile 2023-05-24 20:19:46 +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: add wasip1 support 2023-04-07 23:34:21 +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 os: use poll.fdMutex for Plan 9 files 2022-10-08 03:57:40 +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: make Lstat for symlinks on Windows consistent with POSIX 2023-01-25 16:38:21 +00:00
stat_unix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
stat_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
stat_windows.go os: make Lstat for symlinks on Windows consistent with POSIX 2023-01-25 16:38:21 +00:00
sticky_bsd.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
sticky_notbsd.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
str.go all: fix some typos 2022-10-06 02:49:55 +00:00
sys.go
sys_aix.go
sys_bsd.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
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_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
sys_windows.go
tempfile.go all: fix some comments 2023-02-14 16:27:39 +00:00
tempfile_test.go os: clean up tests 2023-01-19 20:45:37 +00:00
timeout_test.go all: fix spelling errors 2023-06-14 00:03:57 +00:00
types.go
types_plan9.go os: use poll.fdMutex for Plan 9 files 2022-10-08 03:57:40 +00:00
types_unix.go
types_windows.go os: use handle based APIs to read directories on windows 2023-01-24 13:26:00 +00:00
wait6_dragonfly.go os: split wait6 syscall wrapper into per-platform files 2022-10-13 21:25:45 +00:00
wait6_freebsd64.go os: split wait6 syscall wrapper into per-platform files 2022-10-13 21:25:45 +00:00
wait6_freebsd_386.go os: split wait6 syscall wrapper into per-platform files 2022-10-13 21:25:45 +00:00
wait6_freebsd_arm.go os: split wait6 syscall wrapper into per-platform files 2022-10-13 21:25:45 +00:00
wait6_netbsd.go os: split wait6 syscall wrapper into per-platform files 2022-10-13 21:25:45 +00:00
wait_unimp.go os: adjust wait6/waitid comment for netbsd 2023-04-11 13:16:52 +00:00
wait_wait6.go os: split wait6 syscall wrapper into per-platform files 2022-10-13 21:25:45 +00:00
wait_waitid.go