-
Notifications
You must be signed in to change notification settings - Fork 6
[TIP] Intent to implement epoll()/kqueue() support for sockets on Linux/FreeBSD #14
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
Comments
tests/* now all complete successfully on FreeBSD and Linux as of <96b5aa3016ee4e41b81534fbcccbab168d1a9338>, |
Awaiting feedback/vote/... |
OK, we are testing this. |
My new code was just committed: http://core.tcl.tk/tcl/info/858569fb0484a15478f8583287a263ac6215f20c. Assuming there are no remaining concerns, I'd like to claim the bounty. |
TIP vote is done (accepted), and implementation is on trunk (8.7) now. Congratuations! |
FYI: The new epoll() code does not work correctly. |
I've pushed a fix concerning epoll_wait() timeout calculation in lalbornoz/tcl@7249454. |
Looks much better. I don't have a specific test built for the disconnected socket, but I pulled up an older copy of my application and it seems ok. With the patch (busy-wait test): real 0m7.413s |
Let me guess from the patch; the timeout was meant to be in ms, yet was being fed seconds? |
Precisely; the kqueue(2)-based notifier correctly converts between struct time{val,spec} and thus only Linux was/is affected. |
Nov 23 4:30 PM:
epoll() support on Linux in the event loop (tclUnixNotfy.c) implemented; some testing done.
Nov 23 6:04 PM:
kqueue/kevent() support on FreeBSD in the event loop (tclUnixNotfy.c): code written, compiles.
Nov 23 7:52 PM:
Cleanup; refactored code into four subroutines. Now commencing testing/bugfixing.
Nov 24 12:16 PM:
Code review; will contact tcl-core tomorrow.
Nov 24 4:19 PM:
Preliminarily pushed to https://github.com/lalbornoz/tcl (`epoll' branch.)
Nov 25 1:51 PM:
Initial tcl-core contact.
Nov 25 5:18 PM:
http://www.tcl.tk/cgi-bin/tct/tip/458.html
Dec 6 7:33 PM:
Supports DragonFly/Free/Net/OpenBSD and Linux; running relevant tests/* on those platforms and fixing bugs that come up.
The text was updated successfully, but these errors were encountered: