> 気がついたのですが、IO.select で、timeout を使ったとき、
> 指定した時間より短い時間で返ってくることがあります。
>
> % ./ruby -ve '
> 10.times {
>  t1 = Time.now
>  IO.select([], nil, nil, 0.1)
>  t2 = Time.now
>  p t2-t1
> }'
> ruby 2.0.0dev (2011-10-31 trunk 33585) [i686-linux]
> 0.10039
> 0.09891
> 0.099981
> 0.099979
> 0.1
> 0.099936
> 0.099993
> 0.099502
> 0.104041
> 0.106985

ただしくないと思います。あとで見ておきます orz