Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
os: handle EINTR from open(2) on darwin.
The man page for sigaction(2) doesn't guarantee that SA_RESTART will work for open(2) on regular files: The affected system calls include open(2), read(2), write(2), sendto(2), recvfrom(2), sendmsg(2) and recvmsg(2) on a communications channel or a slow device (such as a terminal, but not a regular file) and during a wait(2) or ioctl(2). I've never observed EINTR from open(2) for a traditional file system such as HFS+, but it's easy to observe with a fuse file system that is slightly slow (cf. https://goo.gl/UxsVgB). After this change, the problem can no longer be reproduced when calling os.OpenFile. Fixes golang#11180. Change-Id: I967247430e20a7d29a285b3d76bf3498dc4773db
- Loading branch information