Issue #5954 has been updated by nobu (Nobuyoshi Nakada).

Description updated


----------------------------------------
Bug #5954: IO.read_nonblock on IO.pipe generates Errno::EBADF (MinGW)
https://bugs.ruby-lang.org/issues/5954#change-28703

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: Normal
Assignee: usa (Usaku NAKAMURA)
Category: 
Target version: 3.0
ruby -v: 1.9.3-p0 i386-mingw32 and 2.0.0dev


=begin
Originally posted in [ruby-core:42103]:

The following example seems not to work under Windows:

  r, w = IO.pipe

  w.write "awesome" * 10

  puts r.read_nonblock(8)

  r.close
  w.close

 C:\Users\Luis>ruby -v t.rb
 ruby 1.9.3p0 (2011-10-30) [i386-mingw32]
 t.rb:5:in `read_nonblock': Bad file descriptor (Errno::EBADF)
        from t.rb:5:in `<main>'

What is not clear is that using StringIO works:

  require "stringio"

  b = StringIO.new

  b.write "awesome" * 10
  b.rewind

  puts b.read_nonblock(8)

  b.close

 C:\Users\Luis>ruby -v t2.rb
 ruby 1.9.3p0 (2011-10-30) [i386-mingw32]
 awesomea

Perhaps pipes are not open properly? Is this supported under Windows?
=end



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