Skip to content
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

Drop Crystal::FiberChannel #15245

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ysbaddaden
Copy link
Contributor

@ysbaddaden ysbaddaden commented Dec 3, 2024

Its main purpose was to keep the libevent eventloop from exiting when empty, which isn't needed anymore since EventLoop#run(blocking: true) now waits forever when blocking.

Since we need to grab the lock to send the fiber, we can just push it to the runnables Deque instead of passing it through a pipe, which didn't work properly on Windows anyway.

Should be merged after #15238 and #15243. Merged

Note: there ain't much differences with #14949 (kept @sleeping bool + spec fix). We might want to consider merging the original PR instead.

Its main purpose was to keep the eventloop from exiting when empty,
which isn't needed anymore (evloop#run can now wait forever).

Since we need to grab the lock to send the fiber, we can just push it to
the runnables deque instead of passing it through a pipe; which didn't
work properly on Windows anyway.

The Windows IOCP eventloop will need a refactor to check on completions
even where there are no queued (timers).
@ysbaddaden ysbaddaden self-assigned this Dec 3, 2024
@ysbaddaden ysbaddaden marked this pull request as ready for review December 13, 2024 21:18
@straight-shoota straight-shoota added this to the 1.15.0 milestone Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Review
Development

Successfully merging this pull request may close these issues.

2 participants