Sha256: 4690a866fce8f9dabe929117c86e42027ba2c59235266a3f51f538fa8a38efe2

Contents?: true

Size: 652 Bytes

Versions: 223

Compression:

Stored size: 652 Bytes

Contents

module Concurrent

  # Special "compare and set" handling of numeric values.
  #
  # @!visibility private
  # @!macro internal_implementation_note
  module AtomicNumericCompareAndSetWrapper

    # @!macro atomic_reference_method_compare_and_set
    def compare_and_set(old_value, new_value)
      if old_value.kind_of? Numeric
        while true
          old = get

          return false unless old.kind_of? Numeric

          return false unless old == old_value

          result = _compare_and_set(old, new_value)
          return result if result
        end
      else
        _compare_and_set(old_value, new_value)
      end
    end

  end
end

Version data entries

223 entries across 207 versions & 37 rubygems

Version Path
fluent-plugin-nuopenlineage-light-0.1.0 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
fluent-plugin-openlineage-light-0.1.4 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
fluent-plugin-openlineage-light-0.1.3 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
concurrent-ruby-1.3.4 lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
fluent-plugin-openlineage-0.1.0 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
katalyst-govuk-formbuilder-1.9.2 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
concurrent-ruby-1.3.3 lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
concurrent-ruby-1.3.2 lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
tinymce-rails-7.1.2 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.1/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
concurrent-ruby-1.3.1 lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
concurrent-ruby-1.3.1.pre lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
harbr-2.8.1 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
mlh-rubocop-config-1.0.3 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
concurrent-ruby-1.2.3 lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
harbr-0.2.10 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
harbr-0.2.9 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb