わたなべです。

Koji Arai <JCA02266 / nifty.ne.jp> writes:

> > require 'timeout'
> > 
> > i = 0
> > begin
> >   timeout(5) do
> >     while true
> > 	p (i+=1)
> >     end
> >   end
> > rescue TimeoutError
> >   print "timeout\n"
> > end
> 
> っと、二種類示されているのですが、落とし穴に載っているのは前
> 者のみです。しかも、「Cygwin と MinGW でダメ」っと落とし穴に
> 書いているのですが、実際はどうなのでしょうか?
> 
> # 前に試して問題なかった覚えがあるんですよね。

たぶん誰かが勘違いしたんだと思います。
mingw32版での結果はmswin32版と同じです。
#なかむら(う)さんも書いてますが。

それはそれとして、pとputsの違いを考えるとflushしかありません。
試しにputsのあとで$stdout.flushを入れるとokですね。
なるほど。rb_io_flushでrb_thread_fd_writableを呼んでいるからか。

2年経っても同じなので、undefしときます。

-- 
わたなべひろふみ
1.6.0が出てもう2年経つのか