Project

General

Profile

Bug #5954

Updated by nobu (Nobuyoshi Nakada) over 11 years ago

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

 The following example seems not to work under Windows: 

   

 =begin 
 r, w = IO.pipe 

   

 w.write "awesome" * 10 

   

 puts r.read_nonblock(8) 

   

 r.close 
   
 w.close 

  
 =end 

 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: 

   

 =begin 
 require "stringio" 

   

 b = StringIO.new 

   

 b.write "awesome" * 10 
   
 b.rewind 

   

 puts b.read_nonblock(8) 

   

 b.close 

  
 =end 

 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 

Back