diff options
| author | rhykw <[email protected]> | 2016-05-28 09:33:53 +0900 |
|---|---|---|
| committer | rhykw <[email protected]> | 2016-05-28 09:33:53 +0900 |
| commit | 4f6703203b73c2dcec29b1bd851ae938177fee02 (patch) | |
| tree | 15fc2876d3c1c8a8b6436d4b2114ec575d7b0c55 | |
| parent | 2a80cccf30bd43ddc9a64188ada1593d1bd57d68 (diff) | |
| download | mruby-4f6703203b73c2dcec29b1bd851ae938177fee02.tar.gz mruby-4f6703203b73c2dcec29b1bd851ae938177fee02.zip | |
TCPServer use SO_REUSEADDR if possible
| -rw-r--r-- | mrblib/socket.rb | 4 |
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 |
