Merged
Conversation
Member
Author
|
Example output: |
b183190 to
3ce0e40
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
While
io_uring,epoll, andkqueuemay be available at compile time, their actual support at runtime is not guaranteed. Various factors, such as kernel configuration, security policies (seccomp, AppArmor, SELinux), or resource limits, may prevent them from working as expected.This PR introduces explicit runtime checks for each event selector, ensuring that we only define the corresponding constant when the selector is truly available.
While it would be possible to defer these checks until selector creation, this approach follows the existing pattern of defining constants at initialization time, keeping the implementation consistent with the current interface.
Changes
IO_Event_Selector_URing_supported_p(),IO_Event_Selector_EPoll_supported_p(), andIO_Event_Selector_KQueue_supported_p(), which attempt to create a minimal instance of each selector to verify availability.Init_IO_Event_Selector_*()to only define the corresponding selector if the runtime check passes.Why?
Types of Changes
Contribution