-
Notifications
You must be signed in to change notification settings - Fork 349
New issue
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
Add epollerr support #3820
Add epollerr support #3820
Conversation
Ah, very interesting. If the peer FD is closed without any data in its read buffer, all is fine, but if there is data being discarded, that's not fine? I guess I can see how it makes sense, but it'd be better if we'd find documentation explaining this... First sketch of an implementation:
Does EPOLERR ever get unset again after this? |
Yes. If the peer FD read all its data before it get closed,
In the context of the current test case we have in this PR, I think @rustbot author |
@rustbot ready |
Looks good, thanks :) |
☔ The latest upstream changes (presumably #3824) made this pull request unmergeable. Please resolve the merge conflicts. |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
@rustbot author |
Maybe it will conflict again after #3818 landed, I will come back later to check. EDIT: oh that haven't landed |
We'll see. :) |
Ah yes they both add tests to the end of the same file so they will definitely conflict there. |
🔒 Merge conflict This pull request and the master branch diverged in a way that cannot be automatically merged. Please rebase on top of the latest master branch, and let the reviewer approve again. How do I rebase?Assuming
You may also read Git Rebasing to Resolve Conflicts by Drew Blessing for a short tutorial. Please avoid the "Resolve conflicts" button on GitHub. It uses Sometimes step 4 will complete without asking for resolution. This is usually due to difference between how Error message
|
@RalfJung Alright, last one. Thanks for being fast in reviewing this stream of PRs. :) |
Thanks for being fast in reacting to feedback and conflicts. :) |
☀️ Test successful - checks-actions |
1 similar comment
☀️ Test successful - checks-actions |
Fixes #3816
For socketpair, if the peer fd is closed while having data in its read buffer,
EPOLLER
will be thrown.This is still WIP because I am currently finding a way to check if peer fd still has something in its
readbuf
when it is closed and add theEPOLLER
flag Inget_epoll_ready_events
.