#前の方のテストが通ってるということは、その時点では子プロセスが
#そのポートに bind できてたということですよね。
#で、ちゃんとそのプロセスの終了を待ってから次に進んでると。
#ちなみに、getsockname のテスト以外なら、0 で bind して後でどのポートに bind されたか調べるという手も。
#あ、その手があった。もう長い間使ってないから忘れてた>0でbind 複数候補渡して試すのも、結局どこにbindされたかは後で調べないとならないから同じだなあ。
#だがmake-server-socketsの場合、システムによってv4とv6それぞれ別のソケットにbindする場合があるから、単純に0渡すわけにはいかなさそうだ。
#わはは、バレたか。公開してないのはReadContextの扱いをまだ完全に決めてないからですが、機能としては便利なのでいずれ公開すると思います。http://saito.hatenablog.jp/entry/2015/02/11/114453 #It's reproducible. I've run the test twice and got the same error twice. It seems one of the gosh process isn't killed properly.
#~/projects/Gauche ps [master] git:Gauche
PID TTY TIME CMD
8867 pts/4 00:00:00 zsh
18480 pts/4 00:00:00 gosh
19618 pts/4 00:00:00 ps
#Above is the process list after running tests.
#v6 テスト用の server は動いたけど, (get-ipv6-sock) が #f 返しているとかですかね。
#The port is still open.
#~/projects/Gauche netstat -lntu | grep 6726
tcp6 0 0 :::6726 :::* LISTEN
#最後の ::1 くらいは connect できてもよさそうなのに、不思議ですね。run-simple-server は子プロセスが socket を作ってから返ってきているはずだし、filtering でもされているのでしょうか。