-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Fix compile on win32 #8195
Fix compile on win32 #8195
Conversation
Fiber.unsafe_each do |fiber| | ||
fiber.push_gc_roots unless fiber.running? | ||
end | ||
{% unless flag?(:win32) %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't understand the reason for this change.
The GC in windows still needs to push the gc root, and the extensions are already behind preview_mt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Master fails to compiler because Fiber
is not yet implemented on win32. It is only added in #7995
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is only temporary and will be removed in #7995. But it's necessary to run the specs prior to that.
# (IO stuff, sleep, etc.). Without it the user might wait more than needed | ||
# after pressing CTRL+C to quit the tests. | ||
Fiber.yield | ||
{% unless flag?(:win32) %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this is because Fiber.yield is not allowed in windows. If so, then maybe is better to add the flag?(:win32)
check inside Fiber.yield
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fiber
itself is currently undefined in win32.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect
This applies the arithmetic operator change to win32-specific implementation and moves references to
Fiber
behind a flag. The latter can be removed after #7995, but right now it is required to build specs on win32.