class Concurrent::ReentrantReadWriteLock

def with_write_lock

Raises:
  • (Concurrent::ResourceLimitError) - if the maximum number of readers
  • (ArgumentError) - when no block is given.

Returns:
  • (Object) - the result of the block operation.

Other tags:
    Yield: - the task to be performed within the lock.
def with_write_lock
  raise ArgumentError.new('no block given') unless block_given?
  acquire_write_lock
  begin
    yield
  ensure
    release_write_lock
  end
end