diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-08-10 15:33:59 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-08-10 15:33:59 +0000 |
commit | 23f12a0660705d99952267b1e2ad53531771b6b2 (patch) | |
tree | a4f6b52bae9c688df29b74afb24f0cde6f54009b /ext | |
parent | 9fa5924294b6d43c8ef6300741bb842a66ee7923 (diff) |
merge revision(s) 50089: [Backport #11342]
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@51518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/socket/extconf.rb | 4 | ||||
-rw-r--r-- | ext/socket/option.c | 10 | ||||
-rw-r--r-- | ext/socket/raddrinfo.c | 2 |
3 files changed, 9 insertions, 7 deletions
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index c4523da24d..6d15bbac6e 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -384,7 +384,9 @@ if have_type("struct tcp_info", headers) 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) diff --git a/ext/socket/option.c b/ext/socket/option.c index 98f0ddc3b0..b00ffb910c 100644 --- a/ext/socket/option.c +++ b/ext/socket/option.c @@ -883,14 +883,14 @@ inspect_ipv6_mreq(int level, int optname, VALUE data, VALUE ret) #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 options) } 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); } diff --git a/ext/socket/raddrinfo.c b/ext/socket/raddrinfo.c index d838898a07..caa08fea47 100644 --- a/ext/socket/raddrinfo.c +++ b/ext/socket/raddrinfo.c @@ -1210,7 +1210,7 @@ rsock_inspect_sockaddr(struct sockaddr *sockaddr_arg, socklen_t socklen, VALUE r } #endif -#ifdef AF_PACKET +#if defined(AF_PACKET) && defined(__linux__) /* GNU/Linux */ case AF_PACKET: { |