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