socketry / nio4r

Cross-platform asynchronous I/O primitives for scalable network clients and servers.
Other
965 stars 86 forks source link

Avoid direct access to IO internals. #301

Closed ioquatix closed 1 year ago

ioquatix commented 1 year ago

Fixes https://github.com/socketry/nio4r/issues/299.

Types of Changes

Contribution

MSP-Greg commented 1 year ago

To clarify, ruby/ruby head/master made ABI changes to IO (see https://github.com/ruby/ruby/commit/18e55fc1e1ec), which caused CI build failures with several extension gems. This was mentioned in #299.

The changes were reverted in https://github.com/ruby/ruby/commit/85dcc4866d9f. But, the head builds used in GitHub Actions setup-ruby are only updated daily, and the builds used for the CI in this PR do not contain the 'reversion' commit.

Hence, this PR works with both the updated IO ABI and the previous ABI, which used in Ruby 3.2.