まつもと ゆきひろです

In message "[ruby-list:5479] Thread and system"
    on 97/11/28, "Motoyuki S." <moto / cc.tohoku.ac.jp> writes:
|
|もと@大計です.
|ちょっと奇妙な現象に遭遇してしまったので,相談です.
|
|ruby1.0-971125 + FreeBSD2.2.5R という環境です.
|Thread と system() を組みあわせて使うと,どうも ruby が全力疾走を始め
|てしまうみたいなのです.

ええ.systemはサブプロセスをforkして,waitで待つのですが,こ
れが複数スレッドがあるとビジーウェイトします.サブプロセスが
終了するか,スレッドが一つになると全力疾走することはなくなり
ます.

process.cのrb_waitpid()の実装の部分ですが,もっとよいアイディ
アがあれば教えてください.

|Thread の中の system() をコメントアウトすると,おとなしくしているのですが,
|上記のように system() 文があると,そのあともずっと全力疾走しはじめるよう
|です.

ただ,そのあともずっとというのは心あたりがないです.おかしい
なあ.
                                まつもと ゆきひろ /:|)