ruby-changes:38008
From: naruse <ko1@a...>
Date: Wed, 25 Mar 2015 17:10:29 +0900 (JST)
Subject: [ruby-changes:38008] naruse:r50089 (trunk): * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state,
naruse 2015-03-25 17:10:14 +0900 (Wed, 25 Mar 2015) New Revision: 50089 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=50089 Log: * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state, but it is a dummy. * ext/socket/option.c: Solaris 11 doesn't have u_intN_t. * ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec. * ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have related macros. Modified files: trunk/ChangeLog trunk/ext/socket/extconf.rb trunk/ext/socket/option.c trunk/ext/socket/raddrinfo.c Index: ChangeLog =================================================================== --- ChangeLog (revision 50088) +++ ChangeLog (revision 50089) @@ -1,3 +1,15 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Wed Mar 25 16:46:49 2015 NARUSE, Yui <naruse@r...> + + * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state, + but it is a dummy. + + * ext/socket/option.c: Solaris 11 doesn't have u_intN_t. + + * ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec. + + * ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have + related macros. + Wed Mar 25 17:03:08 2015 Nobuyoshi Nakada <nobu@r...> * ext/-test-/file/fs.c (get_fsname): try magic number only if Index: ext/socket/option.c =================================================================== --- ext/socket/option.c (revision 50088) +++ ext/socket/option.c (revision 50089) @@ -883,14 +883,14 @@ inspect_ipv6_mreq(int level, int optname https://github.com/ruby/ruby/blob/trunk/ext/socket/option.c#L883 #endif static void -inspect_tcpi_options(VALUE ret, u_int8_t options) +inspect_tcpi_options(VALUE ret, uint8_t options) { int sep = '='; rb_str_cat2(ret, " options"); #define INSPECT_TCPI_OPTION(optval, name) \ if (options & (optval)) { \ - options &= ~(u_int8_t)(optval); \ + options &= ~(uint8_t)(optval); \ rb_str_catf(ret, "%c%s", sep, name); \ sep = ','; \ } @@ -923,14 +923,14 @@ inspect_tcpi_options(VALUE ret, u_int8_t https://github.com/ruby/ruby/blob/trunk/ext/socket/option.c#L923 } static void -inspect_tcpi_usec(VALUE ret, const char *prefix, u_int32_t t) +inspect_tcpi_usec(VALUE ret, const char *prefix, uint32_t t) { rb_str_catf(ret, "%s%u.%06us", prefix, t / 1000000, t % 1000000); } -#ifdef __linux__ +#if defined(__linux__) || defined(__sun) static void -inspect_tcpi_msec(VALUE ret, const char *prefix, u_int32_t t) +inspect_tcpi_msec(VALUE ret, const char *prefix, uint32_t t) { rb_str_catf(ret, "%s%u.%03us", prefix, t / 1000, t % 1000); } Index: ext/socket/raddrinfo.c =================================================================== --- ext/socket/raddrinfo.c (revision 50088) +++ ext/socket/raddrinfo.c (revision 50089) @@ -1210,7 +1210,7 @@ rsock_inspect_sockaddr(struct sockaddr * https://github.com/ruby/ruby/blob/trunk/ext/socket/raddrinfo.c#L1210 } #endif -#ifdef AF_PACKET +#if defined(AF_PACKET) && defined(__linux__) /* GNU/Linux */ case AF_PACKET: { Index: ext/socket/extconf.rb =================================================================== --- ext/socket/extconf.rb (revision 50088) +++ ext/socket/extconf.rb (revision 50089) @@ -384,7 +384,9 @@ if have_type("struct tcp_info", headers) https://github.com/ruby/ruby/blob/trunk/ext/socket/extconf.rb#L384 have_const("TCP_LISTEN", headers) have_const("TCP_CLOSING", headers) have_struct_member('struct tcp_info', 'tcpi_state', headers) - have_struct_member('struct tcp_info', 'tcpi_ca_state', headers) + if /solaris/ !~ RUBY_PLATFORM + have_struct_member('struct tcp_info', 'tcpi_ca_state', headers) + end have_struct_member('struct tcp_info', 'tcpi_retransmits', headers) have_struct_member('struct tcp_info', 'tcpi_probes', headers) have_struct_member('struct tcp_info', 'tcpi_backoff', headers) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/