2010-09-01から1ヶ月間の記事一覧

ぐぐってみると、

OSXでREUSEPORT使わないと困った事例みたいのがあった。OSXで上のコマンドとか make test-all TESTS='socket/test_socket.rb -n test_accept_loop'とか動くのかな。持っていないので調べようがない。でもテストハングったら誰か文句言うだろうしな。関係ない…

:REUSEPORT

そんなものはLinuxにはない模様。Lucidだとコメントアウトされている。/usr/include/asm-x86_64/socket.hより /* To add :#define SO_REUSEPORT 15 */ さてどうするか。

Errno::EADDRINUSEは

ip_sockets_port0で:REUSEPORTもつけてあげるとおきなくなった。 % ruby -d -v -rsocket -e 'Socket.tcp_server_sockets(0).each{|s| p s.local_address}' ruby 1.9.3dev (2010-09-21 trunk 29309) [powerpc-aix5.3.0.0] #<Addrinfo: 0.0.0.0:48945 TCP> #<Addrinfo: [::]:48945 TCP></addrinfo:></addrinfo:>

どうも

AIXではipv4とipv6で同じポートに同時にソケットが開けないっぽい。で Exception `Errno::EADDRINUSE' at /somewhere/r19.gccs/lib/ruby/1.9.1/socket.rb:293 - Address already in use - bind(2)になるみたいだ。さてどうしたものか。ていうかどうなってん…