1 # -*- encoding: binary -*-
3 # This class handles the Unicorn fchmod heartbeat mechanism
4 # in Coolio-based concurrency models to prevent the master
5 # process from killing us unless we're blocked. This class
6 # will also detect and execute the graceful exit if triggered
8 class Rainbows::Coolio::Heartbeat < Coolio::TimerWatcher
9 KATO = Rainbows::Coolio::KATO
10 CONN = Rainbows::Coolio::CONN
14 if (ot = Rainbows.keepalive_timeout) >= 0
16 KATO.delete_if { |client, time| time < ot and client.timeout? }
18 exit if (! G.tick && CONN.size <= 0)