diff options
author | Ernest W. Durbin III <ewdurbin@gmail.com> | 2013-11-01 10:12:33 -0400 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-11-01 18:43:03 +0000 |
commit | 7e9e4c740aba24096f768f578779dc1053cb8b70 (patch) | |
tree | 4d7b485df0ab5c202506b368ca9c444701ae5fab /lib/unicorn/http_server.rb | |
parent | 03580a19afe5ce76323a7366b92243a94d445de1 (diff) | |
download | unicorn-7e9e4c740aba24096f768f578779dc1053cb8b70.tar.gz |
This renables the ability for Ruby 1.8.6 environments to perform reexecs [ew: clarified this is for 1.8.6, favor literal {} over Hash.new, tweaked LISTENERS.map => LISTENERS.each, thanks to Hleb Valoshka ] Signed-off-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'lib/unicorn/http_server.rb')
-rw-r--r-- | lib/unicorn/http_server.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/unicorn/http_server.rb b/lib/unicorn/http_server.rb index 2decd77..402f133 100644 --- a/lib/unicorn/http_server.rb +++ b/lib/unicorn/http_server.rb @@ -449,13 +449,14 @@ class Unicorn::HttpServer end self.reexec_pid = fork do - listener_fds = Hash[LISTENERS.map do |sock| + listener_fds = {} + LISTENERS.each do |sock| # IO#close_on_exec= will be available on any future version of # Ruby that sets FD_CLOEXEC by default on new file descriptors # ref: http://redmine.ruby-lang.org/issues/5041 sock.close_on_exec = false if sock.respond_to?(:close_on_exec=) - [ sock.fileno, sock ] - end] + listener_fds[sock.fileno] = sock + end ENV['UNICORN_FD'] = listener_fds.keys.join(',') Dir.chdir(START_CTX[:cwd]) cmd = [ START_CTX[0] ].concat(START_CTX[:argv]) |