summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorrhykw <[email protected]>2016-05-28 09:33:53 +0900
committerrhykw <[email protected]>2016-05-28 09:33:53 +0900
commit4f6703203b73c2dcec29b1bd851ae938177fee02 (patch)
tree15fc2876d3c1c8a8b6436d4b2114ec575d7b0c55
parent2a80cccf30bd43ddc9a64188ada1593d1bd57d68 (diff)
downloadmruby-4f6703203b73c2dcec29b1bd851ae938177fee02.tar.gz
mruby-4f6703203b73c2dcec29b1bd851ae938177fee02.zip
TCPServer use SO_REUSEADDR if possible
-rw-r--r--mrblib/socket.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/mrblib/socket.rb b/mrblib/socket.rb
index d5dbda806..a32a3334d 100644
--- a/mrblib/socket.rb
+++ b/mrblib/socket.rb
@@ -262,7 +262,9 @@ class TCPServer
ai = Addrinfo.getaddrinfo(host, service, nil, nil, nil, Socket::AI_PASSIVE)[0]
@init_with_fd = true
super(Socket._socket(ai.afamily, Socket::SOCK_STREAM, 0), "r+")
- self.setsockopt(Socket::SOL_SOCKET, Socket::SO_REUSEADDR, true)
+ if Socket.const_defined?(:SO_REUSEADDR)
+ self.setsockopt(Socket::SOL_SOCKET, Socket::SO_REUSEADDR, true)
+ end
Socket._bind(self.fileno, ai.to_sockaddr)
listen(5)
self