summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/socket/extconf.rb4
-rw-r--r--ext/socket/rubysocket.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb
index f5d243ed47..5256cd0873 100644
--- a/ext/socket/extconf.rb
+++ b/ext/socket/extconf.rb
@@ -56,9 +56,7 @@ have_header("ucred.h", headers)
have_type("struct addrinfo", headers)
-unless have_type("socklen_t", headers)
- $defs << "-Dsocklen_t=int"
-end
+have_type("socklen_t", headers)
have_type("struct in_pktinfo", headers) {|src|
src.sub(%r'^/\*top\*/', '\&'"\n#if defined(IPPROTO_IP) && defined(IP_PKTINFO)") <<
diff --git a/ext/socket/rubysocket.h b/ext/socket/rubysocket.h
index ff91f51bb7..36833e6740 100644
--- a/ext/socket/rubysocket.h
+++ b/ext/socket/rubysocket.h
@@ -86,6 +86,10 @@
#include <ucred.h>
#endif
+#ifndef HAVE_TYPE_SOCKLEN_T
+typedef int socklen_t;
+#endif
+
#ifndef EWOULDBLOCK
#define EWOULDBLOCK EAGAIN
#endif