Charlie Savage <cfis / savagexi.com> wrote:
> Ok, some questions so I can understand this code:
> 
> How is the false-positive happening?

rb_thread_select() needs to modify the arguments passed to it (and clear
out not-ready descriptors).  My patch fixed that for Linux and other
platforms with NFDBITS && HAVE_RB_FD_INIT.

> Why does this break on non-linux platforms

I missed the (NFDBITS && HAVE_RB_FD_INIT) code paths completely.

> And then obviously, what is the next step?

I am testing a patch, I manually disabled the HAVE_RB_FD_INIT code
paths to test, but I cannot test _WIN32 path.