Project

General

Profile

Actions

Bug #5954

closed

IO.read_nonblock on IO.pipe generates Errno::EBADF (MinGW)

Added by luislavena (Luis Lavena) about 12 years ago. Updated over 10 years ago.

Status:
Rejected
Target version:
ruby -v:
1.9.3-p0 i386-mingw32 and 2.0.0dev
Backport:
[ruby-core:42295]

Description

=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 '

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

Actions #1

Updated by shyouhei (Shyouhei Urabe) about 12 years ago

  • Status changed from Open to Assigned

Updated by usa (Usaku NAKAMURA) over 11 years ago

  • Target version changed from 1.9.3 to 3.0

Updated by nobu (Nobuyoshi Nakada) over 11 years ago

  • Description updated (diff)

Updated by luislavena (Luis Lavena) over 10 years ago

Hello usa, nobu.

I've hit this issue with several project again.

Can you confirm or reject if this failure is intended or a bug? That way I can decide jump into the code or not (as IO is not my strongest field)

Thank you.

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

It's natural.
Windows doesn't support non-blocking mode on other than sockets.

Updated by luislavena (Luis Lavena) over 10 years ago

  • Status changed from Assigned to Rejected

Thank you nobu, this is a platform limitation then.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0