From 4f6703203b73c2dcec29b1bd851ae938177fee02 Mon Sep 17 00:00:00 2001 From: rhykw Date: Sat, 28 May 2016 09:33:53 +0900 Subject: TCPServer use SO_REUSEADDR if possible --- mrblib/socket.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3