2013/3/25 naruse (Yui NARUSE) <naruse / airemix.jp>:
>
> Issue #8159 has been updated by naruse (Yui NARUSE).
>
>
> I create an experimental patch as following for failures on Linux:
> http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20130324T210202Z.log.html.gz
>
> diff --git a/ext/socket/socket.c b/ext/socket/socket.c
> index 1ddaea9..44703c1 100644
> --- a/ext/socket/socket.c
> +++ b/ext/socket/socket.c
> @@ -1585,7 +1585,9 @@ socket_s_ip_address_list(VALUE self)
>      for (p = ifp; p; p = p->ifa_next) {
>          if (p->ifa_addr != NULL && IS_IP_FAMILY(p->ifa_addr->sa_family)) {
>              struct sockaddr *addr = p->ifa_addr;
> -            rb_ary_push(list, sockaddr_obj(addr, sockaddr_len(addr)));
> +            ai = sockaddr_obj(addr, sockaddr_len(addr));
> +            rb_ivar_set(ai, rb_intern("@ifa_name"), rb_str_new_cstr(p->ifa_name));
> +            rb_ary_push(list, ai);
>          }
>      }
>

It seems we need Socket.getifaddrs.
-- 
Tanaka Akira