diff --git a/src/os/file_unix.go b/src/os/file_unix.go index b93e2bd56af0dd98603d93d7778d3bcb0e7057c3..f2c00ae0cb6a0ac63fe3e9baf21fb66ed459df9c 100644 --- a/src/os/file_unix.go +++ b/src/os/file_unix.go @@ -202,10 +202,8 @@ func openFileNolog(name string, flag int, perm FileMode) (*File, error) { break } - // On OS X, sigaction(2) doesn't guarantee that SA_RESTART will cause - // open(2) to be restarted for regular files. This is easy to reproduce on - // fuse file systems (see https://golang.org/issue/11180). - if runtime.GOOS == "darwin" && e == syscall.EINTR { + // We have to check EINTR here, per issues 11180 and 39237. + if e == syscall.EINTR { continue } diff --git a/src/os/removeall_at.go b/src/os/removeall_at.go index e619851f9c8276b43614949471e9ec6efbf08557..37bf1b8f2f6f6114507e4d6f74fde0690dd240a8 100644 --- a/src/os/removeall_at.go +++ b/src/os/removeall_at.go @@ -9,7 +9,6 @@ package os import ( "internal/syscall/unix" "io" - "runtime" "syscall" ) @@ -178,7 +177,7 @@ func openFdAt(dirfd int, name string) (*File, error) { } // See comment in openFileNolog. - if runtime.GOOS == "darwin" && e == syscall.EINTR { + if e == syscall.EINTR { continue }