Closed emiltin closed 2 years ago
I guess the native extension won't build on windows but IO.select
might work in some cases. Event-driven IO on windows is supported very poorly. We probably need a dedicated implementation that uses IOCP or even better https://windows-internals.com/ioring-vs-io_uring-a-comparison-of-windows-and-linux-implementations/
does this mean async 2.0 cannot yet be used on windows?
Does the gem install without the native extensions or does the build failure prevent it? If so we just need to skip the native extension on Windows and it should work somewhat.
bundler reports: An error occurred while installing io-event (1.0.2), and Bundler cannot continue.
I would think that means the native extensions are required?
@MSP-Greg do are more of an expert at Windows than me, do you have any suggestions how we can bypass building the extensions on Windows, or build a different set (e.g. ones for the native windows URing).
how we can bypass building the extensions on Windows
Maybe the same way nio4r does?
build a different set (e.g. ones for the native windows URing).
That's pretty much beyond my c skills, especially Windows specific code...
https://github.com/socketry/nio4r/blob/master/ext/nio4r/extconf.rb#L5-L14 looks like a total hack :p
Otherwise, the only thing to do is remove spec.extensions
from the gemspec, which would require a Windows specific release, just like JRuby. I.think.
This is now fixed, all the tests are passing, it's added to the GH Actions, and you can install v1.1.1 on 3.1 and 3.2 when it's released.
this is from a github action runnning on windows-latest, with ruby 3.1.0