summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrblib/socket.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/mrblib/socket.rb b/mrblib/socket.rb
index 2ff144080..a32a3334d 100644
--- a/mrblib/socket.rb
+++ b/mrblib/socket.rb
@@ -262,6 +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+")
+ 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