越水です。
いただいたパッチを当ててもダメでした。;_;
次のコードで試しているのですが:
trap('CHLD') {
while (pid = Process.waitpid(-1, Process::WNOHANG))
p pid
end
}
if not fork
sleep 1
exit
else
sleep 10
end
次のように、waitpidが2回呼び出されているようです:
$ ruby foo.rb
10778
foo.rb:2:in `waitpid': No child processes (Errno::ECHILD)
from foo.rb:2
from foo.rb:1:in `call'
from foo.rb:11:in `sleep'
from foo.rb:11
ところで、process.cのソースをいじってprintfデバッグやろうとしたのです
が、makeで失敗したり、ext/をmakeしている途中で埋め込んだprintfが実行さ
れたりとサンザンな目にあいました(^^; 。
越水
greentea / fa2.so-net.ne.jp