class Concurrent::IVar
def complete(success, value, reason)
def complete(success, value, reason) mutex.synchronize do raise MultipleAssignmentError.new('multiple assignment') if [:fulfilled, :rejected].include? @state set_state(success, value, reason) event.set end time = Time.now observers.notify_and_delete_observers{ [time, self.value, reason] } self end