diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-05-19 20:00:00 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-05-19 20:00:00 +0000 |
commit | 7a1972ab9c729d586d9f3b53326f6fe6fe600703 (patch) | |
tree | d459e410b58464a344c36cf885798dfe9eb746e5 | |
parent | b9a178e56c8ba06f70533fc81dc4081375cb8f9f (diff) | |
download | ruby-7a1972ab9c729d586d9f3b53326f6fe6fe600703.tar.gz |
* ext/socket/extconf.rb: Don't check fields of struct tcp_info if the
structure is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/socket/extconf.rb | 109 |
2 files changed, 60 insertions, 54 deletions
@@ -1,3 +1,8 @@ +Tue May 20 04:58:54 2014 Tanaka Akira <akr@fsij.org> + + * ext/socket/extconf.rb: Don't check fields of struct tcp_info if the + structure is not available. + Mon May 19 23:13:33 2014 Tanaka Akira <akr@fsij.org> * ext/socket/option.c (inspect_tcp_info): Permit longer data. (glibc diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index 7bc8ffee80..c4523da24d 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -371,60 +371,61 @@ have_msg_control = nil have_msg_control = have_struct_member('struct msghdr', 'msg_control', headers) unless $mswin or $mingw have_struct_member('struct msghdr', 'msg_accrights', headers) -have_type("struct tcp_info", headers) -have_const("TCP_ESTABLISHED", headers) -have_const("TCP_SYN_SENT", headers) -have_const("TCP_SYN_RECV", headers) -have_const("TCP_FIN_WAIT1", headers) -have_const("TCP_FIN_WAIT2", headers) -have_const("TCP_TIME_WAIT", headers) -have_const("TCP_CLOSE", headers) -have_const("TCP_CLOSE_WAIT", headers) -have_const("TCP_LAST_ACK", 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) -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) -have_struct_member('struct tcp_info', 'tcpi_options', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_wscale', headers) -have_struct_member('struct tcp_info', 'tcpi_rcv_wscale', headers) -have_struct_member('struct tcp_info', 'tcpi_rto', headers) -have_struct_member('struct tcp_info', 'tcpi_ato', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_mss', headers) -have_struct_member('struct tcp_info', 'tcpi_rcv_mss', headers) -have_struct_member('struct tcp_info', 'tcpi_unacked', headers) -have_struct_member('struct tcp_info', 'tcpi_sacked', headers) -have_struct_member('struct tcp_info', 'tcpi_lost', headers) -have_struct_member('struct tcp_info', 'tcpi_retrans', headers) -have_struct_member('struct tcp_info', 'tcpi_fackets', headers) -have_struct_member('struct tcp_info', 'tcpi_last_data_sent', headers) -have_struct_member('struct tcp_info', 'tcpi_last_ack_sent', headers) -have_struct_member('struct tcp_info', 'tcpi_last_data_recv', headers) -have_struct_member('struct tcp_info', 'tcpi_last_ack_recv', headers) -have_struct_member('struct tcp_info', 'tcpi_pmtu', headers) -have_struct_member('struct tcp_info', 'tcpi_rcv_ssthresh', headers) -have_struct_member('struct tcp_info', 'tcpi_rtt', headers) -have_struct_member('struct tcp_info', 'tcpi_rttvar', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_ssthresh', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_cwnd', headers) -have_struct_member('struct tcp_info', 'tcpi_advmss', headers) -have_struct_member('struct tcp_info', 'tcpi_reordering', headers) -have_struct_member('struct tcp_info', 'tcpi_rcv_rtt', headers) -have_struct_member('struct tcp_info', 'tcpi_rcv_space', headers) -have_struct_member('struct tcp_info', 'tcpi_total_retrans', headers) - -# FreeBSD extension -have_struct_member('struct tcp_info', 'tcpi_snd_wnd', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_bwnd', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_nxt', headers) -have_struct_member('struct tcp_info', 'tcpi_rcv_nxt', headers) -have_struct_member('struct tcp_info', 'tcpi_toe_tid', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_rexmitpack', headers) -have_struct_member('struct tcp_info', 'tcpi_rcv_ooopack', headers) -have_struct_member('struct tcp_info', 'tcpi_snd_zerowin', headers) +if have_type("struct tcp_info", headers) + have_const("TCP_ESTABLISHED", headers) + have_const("TCP_SYN_SENT", headers) + have_const("TCP_SYN_RECV", headers) + have_const("TCP_FIN_WAIT1", headers) + have_const("TCP_FIN_WAIT2", headers) + have_const("TCP_TIME_WAIT", headers) + have_const("TCP_CLOSE", headers) + have_const("TCP_CLOSE_WAIT", headers) + have_const("TCP_LAST_ACK", 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) + 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) + have_struct_member('struct tcp_info', 'tcpi_options', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_wscale', headers) + have_struct_member('struct tcp_info', 'tcpi_rcv_wscale', headers) + have_struct_member('struct tcp_info', 'tcpi_rto', headers) + have_struct_member('struct tcp_info', 'tcpi_ato', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_mss', headers) + have_struct_member('struct tcp_info', 'tcpi_rcv_mss', headers) + have_struct_member('struct tcp_info', 'tcpi_unacked', headers) + have_struct_member('struct tcp_info', 'tcpi_sacked', headers) + have_struct_member('struct tcp_info', 'tcpi_lost', headers) + have_struct_member('struct tcp_info', 'tcpi_retrans', headers) + have_struct_member('struct tcp_info', 'tcpi_fackets', headers) + have_struct_member('struct tcp_info', 'tcpi_last_data_sent', headers) + have_struct_member('struct tcp_info', 'tcpi_last_ack_sent', headers) + have_struct_member('struct tcp_info', 'tcpi_last_data_recv', headers) + have_struct_member('struct tcp_info', 'tcpi_last_ack_recv', headers) + have_struct_member('struct tcp_info', 'tcpi_pmtu', headers) + have_struct_member('struct tcp_info', 'tcpi_rcv_ssthresh', headers) + have_struct_member('struct tcp_info', 'tcpi_rtt', headers) + have_struct_member('struct tcp_info', 'tcpi_rttvar', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_ssthresh', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_cwnd', headers) + have_struct_member('struct tcp_info', 'tcpi_advmss', headers) + have_struct_member('struct tcp_info', 'tcpi_reordering', headers) + have_struct_member('struct tcp_info', 'tcpi_rcv_rtt', headers) + have_struct_member('struct tcp_info', 'tcpi_rcv_space', headers) + have_struct_member('struct tcp_info', 'tcpi_total_retrans', headers) + + # FreeBSD extension + have_struct_member('struct tcp_info', 'tcpi_snd_wnd', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_bwnd', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_nxt', headers) + have_struct_member('struct tcp_info', 'tcpi_rcv_nxt', headers) + have_struct_member('struct tcp_info', 'tcpi_toe_tid', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_rexmitpack', headers) + have_struct_member('struct tcp_info', 'tcpi_rcv_ooopack', headers) + have_struct_member('struct tcp_info', 'tcpi_snd_zerowin', headers) +end case RUBY_PLATFORM when /mswin(32|64)|mingw/ |