module Garcon::AtomicNumericCompareAndSetWrapper
Special “compare and set” handling of numeric values.
Public Instance Methods
compare_and_set(old_value, new_value)
click to toggle source
# File lib/garcon/task/atomic.rb, line 64 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
Also aliased as: compare_and_swap