Project

General

Profile

Bug #8625

Updated by nobu (Nobuyoshi Nakada) almost 10 years ago

=begin 
 By r34580, `IO#read(len, buf)` IO#read(len, buf) does not expand _buf_ buf until data is read actually, 
 but it still shortens if the original _buf_ buf size is greater than _len_. len. 
 Is this an intended behavior? 

 ~~~ruby 
 

  def m(s) 
   
    IO.pipe do |r, w| 
     
      t = Thread.new{r.read(2, s)} 
     
      Thread.pass until t.stop? 
     
      t.kill 
     
      t.value 
   
    end 
 
  end 

 
 
  (1..3).each do |len| 
   
    s = "x" * len 
   
    s # => "x", "xx", "xxx" 
   
    m(s) 
   
    s # => "x", "xx", "xx" 
 
  end 
 ~~~ =end 

Back