[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]