Fails to run on (newer) 32bit Windows with ucrt
32bit ruby using ucrt has started to fail on newer Windows with "unexpected ucrtbase.dll" -> https://github.com/ruby/ruby/blob/3fb7d2cadc18472ec107b14234933b017a33c14d/win32/win32.c#L2591
The problem is that ruby depends on ucrt internals and those have apparently changed with newer versions.
See https://github.com/msys2/MINGW-packages/pull/10878 and https://github.com/msys2/MINGW-packages/issues/10896 for some background and a potential fix. But ideally ruby wouldn't depend on Windows internals like this.
Updated by naruse (Yui NARUSE) about 2 months ago
Why Ruby depends to
- to associate socket and fd: CRuby creates fd with dummy file handle and set socket to emulate Unix-like behavior
- to implement overlapped I/O for Windows 2000/XP
- to emulate fcntl(2)
If you know a better way to implement above use cases, we will migrate to that.