まつもと ゆきひろです
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() 文があると,そのあともずっと全力疾走しはじめるよう
|です.
ただ,そのあともずっとというのは心あたりがないです.おかしい
なあ.
まつもと ゆきひろ /:|)