Methods
Public Class methods
new(mutex)
     # File lib/phusion_passenger/analytics_logger.rb, line 296
296:                 def initialize(mutex)
297:                         @mutex = mutex
298:                         @locked = false
299:                 end
Public Instance methods
lock()
     # File lib/phusion_passenger/analytics_logger.rb, line 316
316:                 def lock
317:                         raise if @locked
318:                         @mutex.lock
319:                         @locked = true
320:                 end
reset(mutex, lock_now = true)
     # 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
synchronize() {|self| ...}
     # 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
unlock()
     # File lib/phusion_passenger/analytics_logger.rb, line 322
322:                 def unlock
323:                         raise if !@locked
324:                         @mutex.unlock
325:                         @locked = false
326:                 end