From: matz@... (Yukihiro Matsumoto) Date: 1998-06-10T14:10:58+09:00 Subject: [ruby-dev:2826] Re: [BUG] IO#eof? when Thread using まつもと ゆきひろです In message "[ruby-dev:2810] [BUG] IO#eof? when Thread using" on 98/06/08, Keiju ISHITSUKA writes: |けいじゅ@日本ラショナルソフトウェアです. | |久々のバグ報告です. | |IO#eof?がマルチスレッド対応になっていません. うーん,これに関して相談があります. 現在のeof?の実装はPerlの真似をして 1文字読みだして,EOFだったら真,でなければungetc という実装になってます.ですから,EOFでもなく,データもない 時にはブロックします.これをfeof(3)だけでチェックするように すれば,一切ブロックしなくなると思います. 現在の挙動を保存するのも,feof(3)に判定を任せて,ブロックし ないようにするのも簡単ですが,どちらが望ましいんでしょうね. ていうか「なんでperlはそんな変なことしてるの?」という疑問の 方が大きいんですが.