@@ -18,7 +18,6 @@ module Yahns::SocketHelper # :nodoc:
end
def set_server_sockopt(sock, opt)
- opt = {backlog: 1024}.merge!(opt)
sock.close_on_exec = true # needed for inherited sockets
TCPSocket === sock and sock.setsockopt(:IPPROTO_TCP, :TCP_NODELAY, 1)
@@ -31,7 +30,7 @@ module Yahns::SocketHelper # :nodoc:
end
log_buffer_sizes(sock, " after: ")
end
- sock.listen(opt[:backlog])
+ sock.listen(opt[:backlog]) if opt[:backlog]
rescue => e
Yahns::Log.exception(@logger, "#{sock_name(sock)} #{opt.inspect}", e)
end
@@ -48,7 +47,6 @@ module Yahns::SocketHelper # :nodoc:
# object in which case it is immediately returned
def bind_listen(address, opt)
return address unless String === address
- opt ||= {}
sock = if address[0] == ?/
if File.exist?(address)
@@ -80,6 +78,7 @@ module Yahns::SocketHelper # :nodoc:
raise ArgumentError, "Don't know how to bind: #{address}"
end
sock.nonblock = opt[:nonblock] || false
+ opt[:backlog] ||= (2 ** 31) - 1 # let the kernel clamp
set_server_sockopt(sock, opt)
sock
end