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