romange / helio

A modern framework for backend development based on io_uring Linux interface
Apache License 2.0
447 stars 50 forks source link

fix: macos thread blocking in `EpollProactor::PeriodicCb` #147

Closed andydunstall closed 1 year ago

andydunstall commented 1 year ago

The read call at https://github.com/romange/helio/blob/4c261c19f415ffde5ec9af09915d4d3704e330fe/util/fibers/epoll_proactor.cc#L465 blocks forever meaning that thread is just blocked. That read makes sense with Linux timerfd_create though I don't understand it for kqueue

codecov-commenter commented 1 year ago

Codecov Report

Patch coverage: 94.44% and project coverage change: +1.30% :tada:

Comparison is base (f7d663e) 76.28% compared to head (32246f8) 77.59%. Report is 5 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #147 +/- ## ========================================== + Coverage 76.28% 77.59% +1.30% ========================================== Files 98 98 Lines 7123 7136 +13 ========================================== + Hits 5434 5537 +103 + Misses 1689 1599 -90 ``` | [Files Changed](https://app.codecov.io/gh/romange/helio/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman) | Coverage Δ | | |---|---|---| | [util/fibers/epoll\_proactor.h](https://app.codecov.io/gh/romange/helio/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman#diff-dXRpbC9maWJlcnMvZXBvbGxfcHJvYWN0b3IuaA==) | `100.00% <ø> (ø)` | | | [util/fibers/proactor\_base.h](https://app.codecov.io/gh/romange/helio/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman#diff-dXRpbC9maWJlcnMvcHJvYWN0b3JfYmFzZS5o) | `92.53% <ø> (ø)` | | | [util/fibers/epoll\_proactor.cc](https://app.codecov.io/gh/romange/helio/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman#diff-dXRpbC9maWJlcnMvZXBvbGxfcHJvYWN0b3IuY2M=) | `87.73% <66.66%> (+11.06%)` | :arrow_up: | | [util/fibers/epoll\_socket.cc](https://app.codecov.io/gh/romange/helio/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman#diff-dXRpbC9maWJlcnMvZXBvbGxfc29ja2V0LmNj) | `73.55% <100.00%> (+0.25%)` | :arrow_up: | | [util/fibers/fibers\_test.cc](https://app.codecov.io/gh/romange/helio/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman#diff-dXRpbC9maWJlcnMvZmliZXJzX3Rlc3QuY2M=) | `99.10% <100.00%> (+0.01%)` | :arrow_up: | | [util/fibers/uring\_socket.cc](https://app.codecov.io/gh/romange/helio/pull/147?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman#diff-dXRpbC9maWJlcnMvdXJpbmdfc29ja2V0LmNj) | `75.55% <100.00%> (+0.21%)` | :arrow_up: | ... and [5 files with indirect coverage changes](https://app.codecov.io/gh/romange/helio/pull/147/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Roman+Gershman)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.