class Concurrent::MutexSemaphore

def release(permits = 1)

@!macro semaphore_method_release
def release(permits = 1)
  Utility::NativeInteger.ensure_integer_and_bounds permits
  Utility::NativeInteger.ensure_positive permits
  synchronize do
    @free += permits
    permits.times { ns_signal }
  end
  nil
end