Issue #5954 has been updated by luislavena (Luis Lavena). Status changed from Assigned to Rejected Thank you nobu, this is a platform limitation then. ---------------------------------------- Bug #5954: IO.read_nonblock on IO.pipe generates Errno::EBADF (MinGW) https://bugs.ruby-lang.org/issues/5954#change-40867 Author: luislavena (Luis Lavena) Status: Rejected Priority: Normal Assignee: usa (Usaku NAKAMURA) Category: Target version: Next Major ruby -v: 1.9.3-p0 i386-mingw32 and 2.0.0dev Backport: =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/