I downloaded the 1.9.1p0 Ruby source code and built it using the
Cygwin tools. I ran the bootstrap test on this build. The Cygwin build
passed every test outside of the file bootstrap/test_io.rb. This build
hung on the second test in test_io.rb. This is not terribly
surprising, given that others have reported errors with this test on
other platforms. But after taking out test 2, I found that the Cygwin
build hung on test 7 in the same file:

50.times do
  assert_normal_exit %q{
    at_exit { p :foo }

    megacontent = "abc" * 12345678
    #File.open("megasrc", "w") {|f| f << megacontent }

    Thread.new { sleep rand*0.2; Process.kill(:INT, $$) }

    r1, w1 = IO.pipe
    r2, w2 = IO.pipe
    t1 = Thread.new { w1 << megacontent; w1.close }
    t2 = Thread.new { r2.read }
    IO.copy_stream(r1, w2) rescue nil
    r2.close; w2.close
    r1.close; w1.close
  }, '', ["INT"] or break
end

Has anyone had any problems with this test? Is there a patch that
would allow Ruby 1.9.1 on Cygwin  to pass test 2 and/or test 7 in
test_io.rb?