Methods
Public Class methods
[ show source ]
# File lib/phusion_passenger/analytics_logger.rb, line 296 296: def initialize(mutex) 297: @mutex = mutex 298: @locked = false 299: end
Public Instance methods
[ show source ]
# File lib/phusion_passenger/analytics_logger.rb, line 316 316: def lock 317: raise if @locked 318: @mutex.lock 319: @locked = true 320: end
[ show source ]
# File lib/phusion_passenger/analytics_logger.rb, line 301 301: def reset(mutex, lock_now = true) 302: unlock if @locked 303: @mutex = mutex 304: lock if lock_now 305: end
[ show source ]
# File lib/phusion_passenger/analytics_logger.rb, line 307 307: def synchronize 308: lock if !@locked 309: begin 310: yield(self) 311: ensure 312: unlock if @locked 313: end 314: end
[ show source ]
# File lib/phusion_passenger/analytics_logger.rb, line 322 322: def unlock 323: raise if !@locked 324: @mutex.unlock 325: @locked = false 326: end