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
  • WSAPoll 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.

RFC: https://wiki.php.net/rfc/poll_api

@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
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.

@bukka bukka force-pushed the poll_api branch 3 times, most recently from 2d53464 to 4edefc1 Compare September 24, 2025 20:28
@bukka bukka marked this pull request as ready for review October 30, 2025 20:55
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