From 966dee27d01b68283e80ea544c93f9a659145302 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 8 Oct 2009 20:28:00 -0700 Subject: fchmod heartbeat flips between 0/1 This is for compatibility with OpenBSD as reported by Jeremy Evans for Unicorn. --- lib/rainbows/thread_pool.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/rainbows/thread_pool.rb') diff --git a/lib/rainbows/thread_pool.rb b/lib/rainbows/thread_pool.rb index 77bd275..16a5979 100644 --- a/lib/rainbows/thread_pool.rb +++ b/lib/rainbows/thread_pool.rb @@ -22,7 +22,7 @@ module Rainbows init_worker_process(worker) threads = ThreadGroup.new alive = worker.tmp - nr = 0 + m = 0 # closing anything we IO.select on will raise EBADF trap(:USR1) { reopen_worker_logs(worker.nr) rescue nil } @@ -33,7 +33,7 @@ module Rainbows while LISTENERS.first && master_pid == Process.ppid maintain_thread_count(threads) threads.list.each do |thr| - alive.chmod(nr += 1) + alive.chmod(m = 0 == m ? 1 : 0) thr.join(timeout / 2.0) and break end end -- cgit v1.2.3-24-ge0c7