まつもと ゆきひろです

In message "Re: [ruby-dev:27123] test/socket/test_tcp.rb blocks on NetBSD"
    on Sat, 17 Sep 2005 22:58:49 +0900, Tanaka Akira <akr / m17n.org> writes:
|
|2005-09-16 から NetBSD で test/socket/test_tcp.rb がブロックするようになっています。
|http://www.rubyist.net/~akr/chkbuild/netbsd-2.0.1/ruby-trunk/log/20050916T140800.txt.gz

ふむ。

|test/socket/test_tcp.rb の変更の
|http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/test/socket/test_tcp.rb?r1=1.6;r2=1.7
|は p が入っていて怪しげなんですが、意図された変更でしょうか?

pが入っているのは確かに怪しげなんですが、それ以外の変更

  * Thread.passの追加([ruby-dev:24705]にはある)
  * 0x1000から0x10000への変更(この数字が違っていてはテストの
    意味がない)

は意図的です。なんでブロックするのかな。推測するに

  * 書き換えられたので"a"しか送らない
  * しかしrecvfrom(0x10000)が指定されたので長さが足りずブロッ
    クした

というところでしょうか。recvfrom(1)にしちゃえばいいのかな。