Skip to content

Conversation

bukka
Copy link
Member

@bukka bukka commented Aug 24, 2025

This introduces a new API for polling that supports various backends:

  • epoll for Linux
  • kqueue for MacOS and BSD variants
  • IOCP for Windows
  • Event ports for Solaris and Illumos
  • poll for the rest

The API tries to reflect primarily epoll and the rest is done in a way so it is compatible. There will be RFC for the exposed API of course.

@bukka
Copy link
Member Author

bukka commented Aug 24, 2025

Currently just kqueue and poll on MacOS are properly tested. The epoll should be easy to get tested but will need to then properly look to iocp and event ports. For event ports I will need to first set OmniOS (Illumos) up.

bukka added 25 commits August 24, 2025 19:29
It needs to track complete one shots and remove same fd filters
This is to handle HUP difference in kqueue
@bukka
Copy link
Member Author

bukka commented Aug 24, 2025

So epoll looks good and all tests passing there.

Tha API also builds on Windows but unsuprisingly the iocp backend does not really work well so this is someting that I will be looking to.

And then event ports will likely need some work as well which I will look then too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant