Skip to content

Drop Crystal::FiberChannel#15245

Merged
straight-shoota merged 1 commit intocrystal-lang:masterfrom
ysbaddaden:feature/mt-drop-fiber-channel
Dec 16, 2024
Merged

Drop Crystal::FiberChannel#15245
straight-shoota merged 1 commit intocrystal-lang:masterfrom
ysbaddaden:feature/mt-drop-fiber-channel

Conversation

@ysbaddaden
Copy link
Collaborator

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

Closes #14949, closes #14222

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
@oprypin
Copy link
Member

oprypin commented Dec 14, 2024

Edited the description to add "Closes #14949, closes #14222"

@straight-shoota straight-shoota changed the title Drop Crystal::FiberChannel Drop Crystal::FiberChannel Dec 16, 2024
@straight-shoota straight-shoota merged commit 6437ab9 into crystal-lang:master Dec 16, 2024
@ysbaddaden ysbaddaden deleted the feature/mt-drop-fiber-channel branch December 29, 2024 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

spec/std/channel_spec.cr gets stuck on Windows with -Dpreview_mt

3 participants