We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The internal/poll.fcntl sites need an EINTR loop. The docs list EINTR for some features, and darwin F_FULLFSYNC hits the disk. https://man7.org/linux/man-pages/man2/fcntl.2.html
EINTR
F_FULLFSYNC
https://github.com/golang/go/blob/master/src/internal/poll/fcntl_libc.go https://github.com/golang/go/blob/master/src/internal/poll/fcntl_syscall.go https://github.com/golang/go/blob/master/src/internal/poll/fd_fsync_darwin.go possibly others...
It might be worth a comment on poll.CloseFunc, to note that errors don't mean failure, so retry is incorrect: https://man7.org/linux/man-pages/man2/close.2.html
Also, seems like a backport fix...
@gopherbot add NeedsFix cc @ianlancetaylor
The text was updated successfully, but these errors were encountered:
Note that we never call fcntl with the operations that the GNU/Linux man page says can return EINTR.
fcntl
I guess we do need a loop on Darwin, though.
Sorry, something went wrong.
We aren't going to backport any changes in this area, any EINTR errors are not a regression.
I'd worry that some other fcntl() op might return EINTR -- if not now, later.
fcntl()
Could we tag for 1.16?
Change https://golang.org/cl/258542 mentions this issue: internal/poll: use ignoringEINTR in Darwin Fsync
internal/poll: use ignoringEINTR in Darwin Fsync
b8ec1d5
No branches or pull requests
The internal/poll.fcntl sites need an EINTR loop. The docs list
EINTR
for some features, and darwinF_FULLFSYNC
hits the disk.https://man7.org/linux/man-pages/man2/fcntl.2.html
https://github.com/golang/go/blob/master/src/internal/poll/fcntl_libc.go
https://github.com/golang/go/blob/master/src/internal/poll/fcntl_syscall.go
https://github.com/golang/go/blob/master/src/internal/poll/fd_fsync_darwin.go
possibly others...
It might be worth a comment on poll.CloseFunc, to note that errors don't mean failure, so retry is incorrect:
https://man7.org/linux/man-pages/man2/close.2.html
Also, seems like a backport fix...
@gopherbot add NeedsFix
cc @ianlancetaylor
The text was updated successfully, but these errors were encountered: