From a47c5c4c9091cb93bbe6495be6429ef9d656d72b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 27 Oct 2015 03:33:11 +0000 Subject: sd_listen_fds emulation cleanup Re-enable and expand on the test case while we're at it for new Rubies. The bug is now fixed in Ruby 2.3.0dev as of r51576. We shall assume anybody running a pre-release 2.3.0 at this point is running a fairly recent snapshot, so we won't bother doing a finer-grained check in the test for an exact revision number. --- lib/unicorn/http_server.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/unicorn/http_server.rb b/lib/unicorn/http_server.rb index 3dbfd3e..c1a2e60 100644 --- a/lib/unicorn/http_server.rb +++ b/lib/unicorn/http_server.rb @@ -772,12 +772,12 @@ class Unicorn::HttpServer sd_pid, sd_fds = ENV.values_at('LISTEN_PID', 'LISTEN_FDS') if sd_pid && sd_pid.to_i == $$ # 3 = SD_LISTEN_FDS_START - inherited.concat((3...(3 + sd_fds.to_i)).map { |fd| Socket.for_fd(fd) }) + inherited.concat((3...(3 + sd_fds.to_i)).to_a) end # to ease debugging, we will not unset LISTEN_PID and LISTEN_FDS inherited.map! do |fd| - io = String === fd ? Socket.for_fd(fd.to_i) : fd + io = Socket.for_fd(fd.to_i) io.autoclose = false io = server_cast(io) set_server_sockopt(io, listener_opts[sock_name(io)]) -- cgit v1.2.3-24-ge0c7