-
Notifications
You must be signed in to change notification settings - Fork 56
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
use x/sys/unix instead of syscall to fix EpollWait on Android #18
Conversation
I actually didn't notice this before, but the
Though its visibility could be improved... |
@jakubgs Thanks for your PR. The package is not dependency-free after using |
711c0ed
to
6dbc170
Compare
Ah, you're absolutely right, forgot about that. Here you go. |
Signed-off-by: Jakub Sokołowski <[email protected]>
@jakubgs Thanks for your work, it would be awesome if you could make it work on Darwin as well. |
Yeah, I already have it working on Darwin, see my I'll do some more research but for my purposes that's good enough. I'll submit a PR today or tomorrow. Maybe someone else can come along and fix it, since I don't know how to make it work. |
@jakubgs I just tried the latest HAProxy(2.0.7), turns out it still couldn't send the If the best we could achieve on Darwin is a normal TCP handshake, the current implementation( |
Yes, the lack of However, now I have forgotten the details of my previous research, if you could add some conclusions about yours that would be awesome, given that you have done a great deal of elaboration here. |
I encountered an issue while working on something using
tcp-shaker
which affects thearm64
platform. Specifically theEpollWait
call returns anEpollEvent
with the file descriptor set to0
.This is the case for every flag configuration I've tried.
I've reported the issue in golang/go#35479 but as the
syscall
package has been frozen since Go 1.3 it most probably won't be fixed. But what I did find out is that thex/sys/unix
package is an up-to-date drop-in replacement for thesyscall
package, and one that doesn't have this bug.So here's a PR that replaces use of
syscall
withx/sys/unix
to fix the Android issue.