Thanks Glyph.
I actually am not able to reduce the behavior to a simpler runnable example
yet, and that's why I tried running my theory first through this list.
I did try a simple example just instantiating some Deferreds, firing them
and gathering their results into a DeferredList (no reactor involved) and
what you're saying holds true. So I'm working on getting a simpler version
of my code that exposes the behavior I'm seeing and will post it once I
have it.
Jorge
On Mon, Jul 29, 2013 at 4:04 PM, Glyph
On Jul 29, 2013, at 1:29 PM, Jorge Gonzalez
wrote: Wouldn't it be possible that defer.gatherResults inserts its callback into d before say slowFuncReturningDeferred_B gets to run and return its own Deferred (and therefore chain it to what gatherRestults is ultimately waiting for?). If so, wouldn't the results returned by slowFuncReturningDeferred_B never make it to the results gathered by defer.gatherResults?
No, that's not what happens. You call addCallback(lambda _: slowFunc...A()), then you call gatherResults. That means gatherResult's callback is after slowFuncReturningA() in d's callback chain.
Can you attach an actual runnable code example with some behavior that you didn't expect, so we can actually run it and explain what's happening? No need for you to spin the reactor or anything, just instantiate a Deferred and then fire it.
-glyph
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python