class EventMachine::Synchrony::Thread::Mutex

def unlock

def unlock
  raise FiberError unless @waiters.first == Fiber.current  
  @waiters.shift
  unless @waiters.empty?
    EM.next_tick{ @waiters.first.resume }
  end
  self
end