From: matz@... (Yukihiro Matsumoto) Date: 2000-05-16T11:32:18+09:00 Subject: [ruby-dev:9710] Re: busy loop in `waitpid' まつもと ゆきひろです In message "[ruby-dev:9695] Re: busy loop in `waitpid'" on 00/05/15, nobu.nakada@nifty.ne.jp writes: |> | 以下のコードで busy loop します。 |> | |> | require 'timeout' |> | |> | timeout(5) {Process.waitpid((fork or exec('sleep', '10)), 0)} |> |> 現時点ではそういうものです。他にもあと数箇所busy loopしてる |> 部分があったはずです。えーと、selectとwaitpidとあとなんだっ |> たっけな。そのうち減らそうと思ってるんですが。 | | flock と syswrite(rb_thread_fd_writable) もしそうですね。 |waitpid は SIGNAL でできそうな気もするんですが、flock とかは無 |理っぽいし。これは native thread 使わないとやっぱ難しいのかな。 昨日、syswriteとselectは対応しました。が、waitpidとflockは結 局はpollingしないと分からないのでbusy waitになっちゃいますよ ね。うーん、sleep 0.1 でも入れるかな。 まつもと ゆきひろ /:|}