trio
trio copied to clipboard
[WIP] devpoll (solaris) support
This pull request is attempting to add /dev/poll (devpoll)-based IO polling.
As of writing this is currently untested and I don't really have experience working with this sort of thing, but I'm going to try anyways!
At the moment, I've basically stolen everything the epoll system does, and reading about the differences I don't really see a whole lot.
Mostly for myself but maybe helpful resources:
- https://docs.oracle.com/en/operating-systems/solaris/oracle-solaris/11.4/prog-interfaces/using-poll-driver.html
- https://docs.oracle.com/cd/E88353_01/html/E37851/poll-4d.html
- https://www.techrepublic.com/article/using-the-select-and-poll-methods/
EDIT: Might not actually go anywhere because of issues with getting a solaris runner in CI
Codecov Report
Attention: Patch coverage is 0% with 111 lines in your changes missing coverage. Please review.
Project coverage is 99.42061%. Comparing base (
d65d3f6) to head (ab18c46).
| Files with missing lines | Patch % | Lines |
|---|---|---|
| src/trio/_core/_io_devpoll.py | 0.00000% | 108 Missing :warning: |
| src/trio/_core/_run.py | 0.00000% | 3 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #3014 +/- ##
====================================================
- Coverage 100.00000% 99.42061% -0.57940%
====================================================
Files 124 125 +1
Lines 19047 19158 +111
Branches 1287 1301 +14
====================================================
Hits 19047 19047
- Misses 0 111 +111
| Files with missing lines | Coverage Δ | |
|---|---|---|
| src/trio/_tools/gen_exports.py | 100.00000% <ø> (ø) |
|
| src/trio/_core/_run.py | 99.70760% <0.00000%> (-0.29241%) |
:arrow_down: |
| src/trio/_core/_io_devpoll.py | 0.00000% <0.00000%> (ø) |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.