1
0
mirror of https://github.com/golang/go synced 2024-11-19 08:54:47 -07:00
go/src/os
Richard Miller e72e69a3f6 os: use the syscall version of Getwd for Plan 9
In Plan 9, each OS thread has its own independent working directory,
so the Go runtime for Plan 9 needs to coordinate Chdir and Getwd
operations to keep the working directory consistent for all goroutines.

The function os.Getwd in Plan 9 should always call syscall.Getwd
to retrieve the common working directory.  Failure to do this was
the cause of (at least some of) the intermittent failures in the
Plan 9 builders with a seemingly spurious "file does not exist"
message, when a thread's working directory had been removed in
another thread.

Change-Id: Ifb834ad025ee39578234ad3b04d08bc98e939291
Reviewed-on: https://go-review.googlesource.com/89575
Reviewed-by: David du Colombier <0intro@gmail.com>
Run-TryBot: David du Colombier <0intro@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-01-25 00:12:18 +00:00
..
exec go/importer,os/exec: use testenv.GoToolPath 2018-01-10 20:24:15 +00:00
signal runtime: don't block signals that will kill the program 2017-11-30 23:29:30 +00:00
user os/user: fix darwin GetGroupIds for n > 256 2017-11-22 17:14:47 +00:00
dir_plan9.go
dir_unix.go
dir_windows.go os: avoid calulating fileStat.path until it is needed 2017-05-09 04:47:47 +00:00
dir.go
env_test.go os: drop unused return value in TestLookupEnv 2017-12-01 15:43:52 +00:00
env_unix_test.go
env.go cmd/go: invalidate cached test results if env vars or files change 2017-12-11 19:08:32 +00:00
error_plan9.go os: homogenize error checks on Plan 9 2018-01-24 07:18:36 +00:00
error_posix.go
error_test.go
error_unix_test.go
error_unix.go
error_windows_test.go
error_windows.go
error.go os: add deadline methods for File type 2017-10-25 18:27:06 +00:00
example_test.go os: use Fstat instead of Stat in FileMode example 2017-07-15 16:46:50 +00:00
exec_plan9.go os: clarify docs on Interrupt and Kill 2017-12-02 02:49:01 +00:00
exec_posix.go os: clarify docs on Interrupt and Kill 2017-12-02 02:49:01 +00:00
exec_unix.go
exec_windows.go
exec.go os: fix grammar nit 2018-01-09 23:59:31 +00:00
executable_darwin.go
executable_freebsd.go
executable_path.go os: on OpenBSD implement Executable using Args[0] 2017-06-17 03:32:59 +00:00
executable_plan9.go
executable_procfs.go os: on OpenBSD implement Executable using Args[0] 2017-06-17 03:32:59 +00:00
executable_solaris.go
executable_test.go os: fix typo in TestExecutable comment 2017-12-09 15:49:34 +00:00
executable_windows.go
executable.go os: fix documentation for Executable on OpenBSD 2017-06-21 04:56:15 +00:00
export_test.go
export_windows_test.go
file_plan9.go os: don't use test logger for Getwd 2017-12-12 04:26:40 +00:00
file_posix.go os: add deadline methods for File type 2017-10-25 18:27:06 +00:00
file_unix.go net, os: don't wait for Close in blocking mode 2017-12-14 02:02:10 +00:00
file_windows.go os: don't use test logger for Getwd 2017-12-12 04:26:40 +00:00
file.go os: mention the influence of umask in docs 2017-12-15 21:07:41 +00:00
getwd_darwin.go
getwd.go os: use the syscall version of Getwd for Plan 9 2018-01-25 00:12:18 +00:00
os_test.go syscall: make Seek use SetFilePointerEx on Windows, allowing large seek offsets 2017-12-07 19:32:24 +00:00
os_unix_test.go os: remove redundant GOOS checks in chown tests 2017-11-30 23:34:49 +00:00
os_windows_test.go path/filepath: re-implement windows EvalSymlinks 2017-10-05 04:16:00 +00:00
path_plan9.go
path_test.go os: fix RemoveAll on large directories on Plan 9 and NaCl 2017-11-06 07:09:50 +00:00
path_unix.go
path_windows_test.go
path_windows.go
path.go os: mention the influence of umask in docs 2017-12-15 21:07:41 +00:00
pipe_bsd.go os: add deadline methods for File type 2017-10-25 18:27:06 +00:00
pipe_freebsd.go all: drop support for FreeBSD 9 or below 2017-11-28 18:57:25 +00:00
pipe_linux.go os: add deadline methods for File type 2017-10-25 18:27:06 +00:00
pipe_test.go os: don't wait for Close if the File was returned by NewFile 2017-12-14 05:54:46 +00:00
proc.go os: add documentation for Windows users 2017-06-30 01:36:38 +00:00
stat_darwin.go
stat_dragonfly.go
stat_freebsd.go
stat_linux.go
stat_nacl.go
stat_netbsd.go
stat_openbsd.go
stat_plan9.go os: don't use test logger for Getwd 2017-12-12 04:26:40 +00:00
stat_solaris.go
stat_unix.go os: don't use test logger for Getwd 2017-12-12 04:26:40 +00:00
stat_windows.go os: don't use test logger for Getwd 2017-12-12 04:26:40 +00:00
stat.go os: don't use test logger for Getwd 2017-12-12 04:26:40 +00:00
sticky_bsd.go
sticky_notbsd.go
str.go
sys_bsd.go
sys_darwin.go
sys_freebsd.go all: drop support for FreeBSD 9 or below 2017-11-28 18:57:25 +00:00
sys_linux.go
sys_nacl.go
sys_plan9.go
sys_solaris.go
sys_unix.go
sys_windows.go all: fix article typos 2017-09-15 02:39:16 +00:00
sys.go
timeout_test.go os: add deadline methods for File type 2017-10-25 18:27:06 +00:00
types_plan9.go
types_unix.go os: fix race between file I/O and Close 2017-04-25 13:58:24 +00:00
types_windows.go os: avoid calulating fileStat.path until it is needed 2017-05-09 04:47:47 +00:00
types.go os: add documentation for Windows users 2017-06-30 01:36:38 +00:00
wait_unimp.go
wait_wait6.go all: drop support for FreeBSD 9 or below 2017-11-28 18:57:25 +00:00
wait_waitid.go os: align siginfo argument to waitid 2017-06-23 17:02:41 +00:00