From: matz@... (Yukihiro Matsumoto) Date: 1999-06-08T10:28:36+09:00 Subject: [ruby-dev:7086] Re: Marshal::load まつもと ゆきひろです In message "[ruby-dev:7079] Marshal::load" on 99/06/04, Shugo Maeda writes: |Marshal::loadでIOがブロックした時に、スレッドのスケジューリングが |起こらないためにデッドロックしてしまいます。 確かにそうですね。修正が必要です。 |こんな感じでいかがでしょう? えーと、これだとFILE構造体のバッファに載っているデータのチェッ クが行われません。io.cにある READ_DATA_PENDING マクロを使う 必要があります。というわけで io.c で getc(3) をラップする関 数を用意することにしました。 |# ほんとはwriteの時も要るかも。 IOでもsocket以外ではチェックしてないんですよね。うーむ。 まつもと ゆきひろ /:|}