#no_pieをつけてビルドしてみました。ビルドは通りましたが、
#gethostbyaddrがエラーになりますね
#test gethostbyaddr, expects #t ==> ERROR: GOT #f
#朝飯喰ったらちょっと調べます
#たんに私のマシンの/etc/hostsにおかしな設定が入ってたせいでした
#Total: 11840 tests, 11839 passed, 1 failed, 0 aborted. ちと./DIST genからやり直してくる。その前にもっかいgit pullか。
#ログ拾ってみた。何のテストだこれ。
#Testing system ... failed.
discrepancies found. Errors are:
test fork, exec and detached process (detached): expects (parent 1 pgrp #t) => got (parent 4391 pgrp #t)
#test/system.scmか
#(test* "fork, exec and detached process (detached)"
`(parent 1 pgrp #t)
(let1 r (run-and-read #t)
`(parent ,(cadr r) pgrp ,(= (car r) (caddr r)))))
#この子っぽい。子プロセスの切り離しに失敗してんのかな。メッセージから判断して。
#くそ。呼ばれた。また後ほど。
#ちなみにUbuntu 11.04 64bit仮想マシンです。CPUは2コア。
#うーむ、謎。
#srcディレクトリに降りてtest.outファイルを作っておいてREPLから
#vmubuntu:maru% ./gosh [~/var/tmp/Gauche/src]
gosh> (sys-fork-and-exec "./gosh" '("./gosh" "-ftest" "./test.out") :detached #t)
7207
gosh> (7208 1 7208)
#となるのであそこには1が入りそうなものなのに。
#gauche-devel-jpにもgauche-develにもtrunk HEADのmake testがfailするってレポート上がってないし... デタッチそのものは動作してるっぽいし気にしないことにするか... ォィ
#むー、タイミングの問題かなあ?
#タイミングですね。子が exit するより先に孫が getppid すると 1 でない値が返ります。
#Scm_SysExec() で子がexit(0)するところを sleep(10), exit(0) とかにすると再現できます。