On Feb 3, 2008 2:41 PM, markus espenhain <<a href="mailto:me@mocisoft.com" target="_blank">me@mocisoft.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
is there something i overlooked so that cb2 isn't called with the<br>required arg?<br></blockquote><div><br>What are you trying to do? This is quite a convoluted example.<br><br>Nonetheless, this does make me wonder what the heck is going on. To appease my curiosity, I added debug statements to Defer._runCallbacks:<br>
<br> ...<br></div></div> try:<br> self._runningCallbacks = True<br> try:<br> print 'calling %r (%r)' % (callback, self)<br>
self.result = callback(self.result, *args, **kw)<br> print 'Got result', self.result<br> finally:<br> self._runningCallbacks = False<br>
if isinstance(self.result, Deferred):<br> ...<br><br><br>And this is the output:<br>...<br>calling <function cb1 at 0x82a3e9c> (<Deferred at 0xb7a34c8cL current result: 'S'>)<br>
cb1 S<br>Got result S<br>Got result None<br>...<br><br>WTF? How on earth can this even happen???<br><br>-- <br>\\\\\/\"/\\\\\\\\\\\<br>\\\\/ // //\/\\\\\\\<br>\\\/ \\// /\ \/\\\\<br>\\/ /\/ / /\/ /\ \\\<br>
\/ / /\/ /\ /\\\ \\<br>/ /\\\ /\\\ \\\\\/\<br>\/\\\\\/\\\\\/\\\\\\<br> d.p.s