# File lib/em/deferrable.rb, line 125 125: def set_deferred_status status, *args 126: cancel_timeout 127: @deferred_status = status 128: @deferred_args = args 129: case @deferred_status 130: when :succeeded 131: if @callbacks 132: while cb = @callbacks.pop 133: cb.call(*@deferred_args) 134: end 135: end 136: @errbacks.clear if @errbacks 137: when :failed 138: if @errbacks 139: while eb = @errbacks.pop 140: eb.call(*@deferred_args) 141: end 142: end 143: @callbacks.clear if @callbacks 144: end 145: end