Bug #3092: IO Broken with Latest Windows
http://redmine.ruby-lang.org/issues/show/3092

Author: Charlie Savage
Status: Open, Priority: High
Category: core, Target version: 1.9.2
ruby -v: ruby 1.9.2dev (2010-04-05) [i386-mswin32_100]

Compiling with VC 2010, ruby IO is broken. The specific error is WSAEWOULDBLOCK; 10035. Resource temporarily unavailable.

io.c is dependent on EWOULDBLOCK being equal to WSAEWOULDBLOCK on windows.  This is done on line 405 of include/win32.h:

#define EWOULDBLOCK	WSAEWOULDBLOCK

Except this no longer works, because VC 2010 in errno.h on line 132 defines:

#define EWOULDBLOCK     140

Thus EWOULDBLOCK != WSAEWOULDBLOCK, and ruby io totally breaks.

Patch is attached.


----------------------------------------
http://redmine.ruby-lang.org