From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-06-10T14:24:11+09:00 Subject: [ruby-dev:2827] Re: [BUG] IO#eof? when Thread using けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :2826 ] the message: "[ruby-dev:2826] Re: [BUG] IO#eof? when Thread using ", on Jun/10 14:10(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >|IO#eof?がマルチスレッド対応になっていません. > >うーん,これに関して相談があります. > >現在のeof?の実装はPerlの真似をして > > 1文字読みだして,EOFだったら真,でなければungetc > >という実装になってます.ですから,EOFでもなく,データもない >時にはブロックします.これをfeof(3)だけでチェックするように >すれば,一切ブロックしなくなると思います. > >現在の挙動を保存するのも,feof(3)に判定を任せて,ブロックし >ないようにするのも簡単ですが,どちらが望ましいんでしょうね. >ていうか「なんでperlはそんな変なことしてるの?」という疑問の >方が大きいんですが. feof(3)よりも現在の動作の方が望ましいような気がします. ところで, ブロックするのはeof?を呼び出しているスレッドだけになると思う のですが? そうはならないの? 今は全てのスレッドが止まっているように見えます. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---