# File lib/phusion_passenger/analytics_logger.rb, line 379 def initialize(io) @mutex = Mutex.new @refcount = 1 @channel = MessageChannel.new(io) if io end
# File lib/phusion_passenger/analytics_logger.rb, line 385 def connected? return !!@channel end
# File lib/phusion_passenger/analytics_logger.rb, line 389 def disconnect @channel.close if @channel @channel = nil end
# File lib/phusion_passenger/analytics_logger.rb, line 394 def ref @refcount += 1 end
# File lib/phusion_passenger/analytics_logger.rb, line 405 def synchronize @mutex.synchronize do yield end end
# File lib/phusion_passenger/analytics_logger.rb, line 398 def unref @refcount -= 1 if @refcount == 0 disconnect end end