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