有馬です。

デバイスファイルからの入力に select を使っています。
ruby-1.4.5 で下記の gets_14() を使うと期待通り戻ってくるのですが、
ruby-1.5.4 で試したところ、rs が nil のままで変りません。
どうやら timeout が 0 だと select してくれないようです。
これは select の仕様変更によるものでしょうか?

class Device < File
  def gets()
    while true
      rs = Kernel.select( [self], nil, nil, @timeout )
      return super  if (rs  and  (not rs.empty?))
      sleep 1
    end
  end
end

--
 有馬 康弘 <fit0298 / fitec.co.jp>