From: matz@... (Yukihiro Matsumoto) Date: 2000-11-20T08:25:13+09:00 Subject: [ruby-dev:11617] Re: return value of waitpid2 まつもと ゆきひろです In message "[ruby-dev:11614] Re: return value of waitpid2" on 00/11/20, Koji Arai writes: |荒井です。いや、新井です。(よくあることさ) あらら、すいません。 |> * nil(荒井さんパッチ) |> * [nil, nil] |> |> のいずれかですね。どっちが良いと思います? |> 後者の方が扱いやすい気もしますが、selectのような前者の例もあ |> りますね。 | |あーそうか,waitpidの使い方を | |while ret = Process.waitpid2(-1, Process::WNOHANG) | puts "#{process #{ret[0]} terminated. status #{ret[1]}" |end | |でしか想定してないものですから。 |まあ,こういった用途には waitpid() 使えば良いですね。 いやあ、そうとも限らないわけで。waitpid2でこういう使い方もし たい人も結構いるかもしれませんし。もうちょっと考えてみないと ね。 |そーいうわけで,多重代入のしやすさのために。後者に一票いれて |おきます(わずかながらの下位互換性も維持)。 多重代入を使うなら pid, status = Process.waitpid2(-1, Process::WNOHANG) はnilでも[nil,nil]でもちゃんと動作します。 まつもと ゆきひろ /:|)